java 压缩图片-java如何实现把一个大图片压缩到指定大小的图片且长宽比不变
求助java压缩图片存储大小的方法

可以使用Draw这个类,通过改变像素来改变存储大小,实例如下:
public static boolean compressPic(String srcFilePath, String descFilePath) throws IOException {
File file = null;
BufferedImage src = null;
FileOutputStream out = null;
ImageWriter imgWrier;
ImageWriteParam imgWriteParams;
// 指定写图片的方式为 jpg
imgWrier = ("jpg").next();
imgWriteParams = new (
null);
// 要使用压缩,必须指定压缩方式为MODE_EXPLICIT
(_EXPLICIT);
// 这里指定压缩的程度,参数qality是取值0~1范围内,
((float) 1);
(_DISABLED);
ColorModel colorModel =(new File(srcFilePath)).getColorModel();// ();
// 指定压缩时使用的色彩模式
// (new (
// colorModel, (16, 16)));
(new (
colorModel, (16, 16)));
try {
if (isBlank(srcFilePath)) {
return false;
} else {
file = new File(srcFilePath);(());
src = (file);
out = new FileOutputStream(descFilePath);
();
// 必须先指定 out值,才能调用write方法, ImageOutputStream可以通过任何
// OutputStream构造
((out));
// 调用write方法,就可以向输入流写图片
(null, new IIOImage(src, null, null),
imgWriteParams);
();
();
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public static boolean isBlank(String string) {
if (string == null || () == 0 || ().equals("")) {
return true;
}
return false;
}
java thumbnails压缩图片占用内存过大

缩小即可。javathumbnails压缩图片占用内存过大的解决办法:
1、打开压缩图网站,点击选择图片压缩按钮。
2、图片上传前网站默认的压缩等级是70,图片上传后会自动按照当前设置的压缩等级进行压缩,如果压缩后的大小不合要求,可再次设置图片的宽高尺寸、压缩等级等参数,宽高留空时默认按照原图尺寸进行压缩,压缩等级越小则压缩后的图片体积越小,最后点击开始压缩按钮重新压缩。
3、图片压缩后,我们就能明显的看到图片压缩后的体积缩小了很多,点击“保存图片”即可。
java如何实现把一个大图片压缩到指定大小的图片且长宽比不变

java要实现把一个大图片压缩到指定大小的图片且长宽比不变可以尝试以下操作:
建立一个AffineTransform
AffineTransform(double m00, double m10, double m01, double m11, double m02, double m12)
转换矩阵,缩放比较简单(矩阵可以干很多事情,想做图像处理软件可以研究下)
[ x'] [ m00 m01 m02 ] [ x ] [ m00x + m01y + m02 ]
[ y'] = [ m10 m11 m12 ] [ y ] = [ m10x + m11y + m12 ]
[ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ]
10倍比较难算(根号10啊,当然你想算也行),9倍好点(9的开方是3),m00为1/3,m01为0,m02为0,m10为0,m11为1/3,m12为0。
再建一个AffineTransformOp,把上面的转换传进去
AffineTransformOp(AffineTransform xform, int interpolationType)
最后调用AffineTransformOp的BufferedImage filter(BufferedImage src, BufferedImage dst) ,src传原图片,返回值就是想要的Image,注意是返回值,不是dst,不明白可以看下Java API
-
果盘绘画图片大全简单创作方法快速制作技巧2024-01-02 16:57:54
-
小年插画图片创作方法快速制作技巧2024-01-02 16:57:20
-
小年绘画作品制作技巧2024-01-02 16:55:45
-
小年插画图片创作方法快速制作技巧2024-01-02 16:55:02
-
立春插画图片如何制作2024-01-02 16:54:19
-
立春插画图片创作方法快速制作技巧2024-01-02 16:53:32






扫描二维码添加客服微信
扫描二维码关注