如何用JAVA转换图像格式
展开全部
关于图像转换的方式,实际上操作的是图像的字节流。我的工作中遇到过将bmp文件压缩为jpg以便于网络传输的课题。所以我这里重点介绍bmp转为jpg的一个方法。
实际上,我更喜欢使用以前sun公司内部使用的api提供的转换方法,这里使用到了两个很重要的类:
com.sun.image.codec.jpeg.JPEGCodec
com.sun.image.codec.jpeg.JPEGImageEncoder
需要注意的是,它们所属的一个jar包不存在于编译目录下,但存在于运行目录下,所以我们首先需要在jre文件下找到rt.jar并导入进来以使得编译通过。
我改写了网上的一个转换代码,所得代码如下:
此外,原sun公司开源的jar包jai_corec_1.1.3.jar也提供了图片格式的转码方式,这里也提供了转码方式,仅供参考:
备注:亲自尝试,当从jpg转bmp时会转很久很久时间(看不到尽头),转得的文件可以很大,所以建议不要使用。
展开全部
使用java的相关的IO流读取图片,然后在直接输出就好了,输出的时候可以设置名字包括格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个网上有很多例子的,下边的是从网上摘抄的一个demo,应该能满足你的需求
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ConverterUtil {
// JGP格式
public static final String JPG = "jpeg";
// GIF格式
public static final String GIF = "gif";
// PNG格式
public static final String PNG = "png";
// BMP格式
public static final String BMP = "bmp";
public static void converter(File imgFile,String format,File formatFile)
throws IOException{
BufferedImage bIMG =ImageIO.read(imgFile);
ImageIO.write(bIMG, format, formatFile);
}
public static void main(String[] args) {
try {
// 转换为JGP
ConverterUtil.converter(new File("XXX"),JPG, new File("XXX"));
// 转换为GIF
ConverterUtil.converter(new File("XXX"),GIF, new File("XXX"));
// 转换为PNG
ConverterUtil.converter(new File("XXX"),PNG, new File("XXX"));
// 转换为BMP
ConverterUtil.converter(new File("XXX"),BMP, new File("XXX"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ConverterUtil {
// JGP格式
public static final String JPG = "jpeg";
// GIF格式
public static final String GIF = "gif";
// PNG格式
public static final String PNG = "png";
// BMP格式
public static final String BMP = "bmp";
public static void converter(File imgFile,String format,File formatFile)
throws IOException{
BufferedImage bIMG =ImageIO.read(imgFile);
ImageIO.write(bIMG, format, formatFile);
}
public static void main(String[] args) {
try {
// 转换为JGP
ConverterUtil.converter(new File("XXX"),JPG, new File("XXX"));
// 转换为GIF
ConverterUtil.converter(new File("XXX"),GIF, new File("XXX"));
// 转换为PNG
ConverterUtil.converter(new File("XXX"),PNG, new File("XXX"));
// 转换为BMP
ConverterUtil.converter(new File("XXX"),BMP, new File("XXX"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要try catch包围,将jpg换成想要的格式 ,就可以实现了
File file = new File(srcImagePath);
BufferedImage src = javax.imageio.ImageIO.read(file);
ImageIO.write(inputbig, "jpg", new File("C:/imageSort/targetPIC/"+name));
File file = new File(srcImagePath);
BufferedImage src = javax.imageio.ImageIO.read(file);
ImageIO.write(inputbig, "jpg", new File("C:/imageSort/targetPIC/"+name));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询