java实现图片压缩-java如何实现把一个大图片压缩到指定大小的图片且长宽比不变
2023-06-28 · 百度认证:重庆猪八戒网络有限公司官方账号
java中gui界面设置背景图片文件格式转换框架完让图片压缩。一种是用Graphics+文件格式转换框架完成,这种麻烦,代码量多一些压缩出的图片质量会更好,另一种是用Google的一个开源框架thumbna。
java如何实现把一个大图片压缩到指定大小的图片且长宽比不变java要实现把一个大图片压缩到指定大小的图片且长宽比不变可以尝试以下操作:
建立一个AffineTransform
AffineTransform(doublem00,doublem10,doublem01,doublem11,doublem02,doublem12)
转换矩阵,缩放比较简单(矩阵可以干很多事情,想做图像处理软件可以研究下)
[x'][m00m01m02][x][m00x+m01y+m02]
[y']=[m10m11m12][y]=[m10x+m11y+m12]
[1][001][1][1]
10倍比较难算(根号10啊,当然你想算也行),9倍好点(9的开方是3),m00为1/3,m01为0,m02为0,m10为0,m11为1/3,m12为0。
再建一个AffineTransformOp,把上面的转换传进去
AffineTransformOp(AffineTransformxform,intinterpolationType)
最后调用AffineTransformOp的BufferedImagefilter(BufferedImagesrc,BufferedImagedst),src传原图片,返回值就是想要的Image,注意是返回值,不是dst,不明白可以看下JavaAPI
javathumbnails压缩图片占用内存过大缩小即可。javathumbnails压缩图片占用内存过大的解决办法:
1、打开压缩图网站,点击选择图片压缩按钮。
2、图片上传前网站默认的压缩等级是70,图片上传后会自动按照当前设置的压缩等级进行压缩,如果压缩后的大小不合要求,可再次设置图片的宽高尺寸、压缩等级等参数,宽高留空时默认按照原图尺寸进行压缩,压缩等级越小则压缩后的图片体积越小,最后点击开始压缩按钮重新压缩。
3、图片压缩后,我们就能明显的看到图片压缩后的体积缩小了很多,点击“保存图片”即可。