Java图片处理(包括Jmagick的应用)
作者: 佚名, 出处:IT专家网, 责任编辑: 谢妍妍,
2010-10-29 08:30
近期有使用到图片的压缩处理,由于在之前用Java 处理时,在低像素的情况下,Java 处理的效果确实很差,然后尝试了用网上推荐的免费开源的第三方软件,利用Java 的jni 调用dll 文件进行处理,效果还可以。在此记录下,方便以后继续积累。
近期有使用到图片的压缩处理,由于在之前用Java 处理时,在低像素的情况下,Java 处理的效果确实很差,然后尝试了用网上推荐的免费开源的第三方软件,利用Java 的jni 调用dll 文件进行处理,效果还可以。在此记录下,方便以后继续积累。
1、纯Java 类处理图片代码
Java代码
以下是代码片段:
/**
* 转换图片大小,不变形
*
* ***@param img
* 图片文件
* ***@param width
* 图片宽
* ***@param height
* 图片高
*/
public static void changeImge(File img, int width, int height) {
try {
Image image = (img);
//图片尺寸的大小处理,如果长宽都小于规定大小,则返回,如果有一个大于规定大小,则等比例缩放
int srcH = (null);
int srcW = (null);
if (srcH <= height && srcW <= width) {
return;
}
int tmpH = width;
int tmpW = height;
//在长度和宽度都做了限制,不能超过设定值
while (srcH > height || srcW > width) {
if(srcW > width) {
tmpH = srcH * width / srcW;
srcH = tmpH;
srcW=width;
}
if(srcH > height) {
tmpW = srcW * height / srcH;
srcW = tmpW;
srcH=height;
}
}
BufferedImage bufferedImage = new BufferedImage(srcW, srcH,
);
().drawImage(
(srcW, srcH, ), 0,
0, srcW, srcH, null);
FileOutputStream fos = new FileOutputStream(img);
JPEGImageEncoder encoder = (fos);
Java 图片处理 格式转换 来自淘豆网m.daumloan.com转载请标明出处.