| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.cnd3b.utility;
- //
- //import com.sun.image.codec.jpeg.JPEGCodec;
- //import com.sun.image.codec.jpeg.JPEGImageEncoder;
- import javax.imageio.ImageIO;
- import java.awt.*;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- /**
- * 图片收缩工具
- */
- public class ImageShrink {
- // /**
- // * 获取图片宽度和高度
- // *
- // * @param file 图片路径
- // * @return 返回图片的宽度
- // */
- // private static int[] getImgWidthHeight(File file) {
- // InputStream is = null;
- // BufferedImage src = null;
- // int result[] = {0, 0};
- // try {
- // // 获得文件输入流
- // is = new FileInputStream(file);
- // // 从流里将图片写入缓冲图片区
- // src = ImageIO.read(is);
- // // 得到源图片宽
- // result[0] = src.getWidth(null);
- // // 得到源图片高
- // result[1] = src.getHeight(null);
- // is.close(); //关闭输入流
- // } catch (Exception ef) {
- // ef.printStackTrace();
- // }
- // return result;
- // }
- //
- // public static void main(String[] args) {
- // String url = "C:\\wildfly-9.0.2s\\standalone\\deployments\\pic.war\\DSB\\tarchives\\default\\";
- // for (File file : new File(url).listFiles()) {
- // String filename = file.getName();
- // if (filename.endsWith("jpg") || filename.endsWith("JPG") || filename.endsWith("PNG") || filename.endsWith("png")) {
- // ImageShrink.reduceImg(url + filename, url + "show_" + filename);
- // }
- // }
- // }
- //
- // /**
- // * 指定图片宽度和高度和压缩比例对图片进行压缩
- // *
- // * @param imgsrc 源图片地址
- // * @param imgdist 目标图片地址
- // */
- // private static void reduceImg(String imgsrc, String imgdist) {
- // try {
- // File srcfile = new File(imgsrc);
- // // 检查图片文件是否存在
- // if (!srcfile.exists()) {
- // System.err.println("文件不存在");
- // }
- // int[] results = getImgWidthHeight(srcfile);
- //
- // int widthdist = results[0];
- // int heightdist = results[1];
- //
- //
- // float newwidth = 400f;
- // float newheight;
- // if (widthdist > newwidth) {
- // newheight = newwidth * ((float) heightdist / (float) widthdist);
- // } else {
- // newwidth = widthdist;
- // newheight = heightdist;
- // }
- //
- // // 开始读取文件并进行压缩
- // Image src = ImageIO.read(srcfile);
- //
- // // 构造一个类型为预定义图像类型之一的 BufferedImage
- // BufferedImage tag = new BufferedImage((int) newwidth, (int) newheight, BufferedImage.TYPE_INT_RGB);
- //
- // // 这边是压缩的模式设置
- // tag.getGraphics().drawImage(src.getScaledInstance((int) newwidth, (int) newheight, Image.SCALE_SMOOTH), 0, 0, null);
- //
- // //创建文件输出流
- // FileOutputStream out = new FileOutputStream(imgdist);
- // //将图片按JPEG压缩,保存到out中
- // JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
- // encoder.encode(tag);
- // //关闭文件输出流
- // out.close();
- // } catch (Exception ef) {
- // ef.printStackTrace();
- // }
- // }
- }
|