java圖片格式轉(zhuǎn)換的三段代碼
網(wǎng)上關(guān)于java圖片格式內(nèi)容的文章不是很多,也不是很完整,小編搜集了三段java圖片格式轉(zhuǎn)換代碼,分享給大家:
第一段:java圖片格式轉(zhuǎn)換代碼
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import javax.imageio.*;
public class FormatConversion {
public static final String JPG = "jpg";
public static final String GIF = "gif";
public static final String PNG = "png";
public static final String BMP = "bmp";
public static void main(String[] args) {
String src = "E:\\2.";
new FormatConversion().Conversion(JPG,PNG,src);//JPG轉(zhuǎn)成PNG
new FormatConversion().Conversion(JPG,GIF,src);//JPG轉(zhuǎn)成GIF
new FormatConversion().Conversion(JPG,BMP,src);//JPG轉(zhuǎn)成BMP
//其余格式轉(zhuǎn)化只要調(diào)用Conversion函數(shù)即可
}
//inputFormat表示原格式,outputFormat表示轉(zhuǎn)化后的格式
public void Conversion(String inputFormat,String outputFormat,String src){
try {
File input = new File(src+inputFormat);
BufferedImage bim = ImageIO.read(input);
File output = new File(src+outputFormat);
ImageIO.write(bim, outputFormat, output);
} catch (IOException e) {
e.printStackTrace();
}
}
}
第二段:java圖片格式轉(zhuǎn)換代碼
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 {
// 轉(zhuǎn)換為JGP
ConverterUtil.converter(new File("c:\\psb.jpg"),JPG, new File("c:\\psb2.jpg"));
// 轉(zhuǎn)換為GIF
ConverterUtil.converter(new File("c:\\psb.jpg"),GIF, new File("c:\\psb2.gif"));
// 轉(zhuǎn)換為PNG
ConverterUtil.converter(new File("c:\\psb.jpg"),PNG, new File("c:\\psb2.png"));
// 轉(zhuǎn)換為BMP
ConverterUtil.converter(new File("c:\\psb.jpg"),BMP, new File("c:\\psb2.bmp"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
第三段:java圖片格式轉(zhuǎn)換代碼
package cn.xsbiz.servlet.test;
import java.io.FileOutputStream;
import java.io.OutputStream;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import com.sun.media.jai.codec.BMPEncodeParam;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGEncodeParam;
/*
* 可以實現(xiàn)jpg/tif/bmp 等圖片之間格式得互相轉(zhuǎn)換
*/
public class Test {
public static void main(String[] args) throws Exception {
/* tif轉(zhuǎn)換到j(luò)pg格式 */
String input2 = "d:/img/a.tif";
String output2 = "d:/img/a.jpg";
RenderedOp src2 = JAI.create("fileload", input2);
OutputStream os2 = new FileOutputStream(output2);
JPEGEncodeParam param2 = new JPEGEncodeParam();
//指定格式類型,jpg 屬于 JPEG 類型
ImageEncoder enc2 = ImageCodec.createImageEncoder("JPEG", os2, param2);
enc2.encode(src2);
os2.close();
/*tif轉(zhuǎn)換到bmp格式*/
String inputFile = "d:/img/b.tif";
String outputFile = "d:/img/b.bmp";
RenderedOp src = JAI.create("fileload", inputFile);
OutputStream os = new FileOutputStream(outputFile);
BMPEncodeParam param = new BMPEncodeParam();
ImageEncoder enc = ImageCodec.createImageEncoder("BMP", os,param);
enc.encode(src);
os.close();//關(guān)閉流
//其他的一樣的方式轉(zhuǎn)換
}
}
上面三段代碼的編寫順序,并不代表代碼性能的好壞,大家可以在學習過程中,區(qū)分各個代碼的利弊,從中總結(jié)經(jīng)驗,進一步掌握
java圖片格式轉(zhuǎn)換的方法。
相關(guān)文章
SharedWorkerGlobalScope屬性數(shù)據(jù)共享示例解析
這篇文章主要為大家介紹了SharedWorkerGlobalScope屬性數(shù)據(jù)共享示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
mybatis實現(xiàn)對數(shù)據(jù)的增刪查改實例詳解
這篇文章主要介紹了mybatis實現(xiàn)對數(shù)據(jù)的增刪查改實例詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
Java中stream處理中map與flatMap的比較和使用案例
這篇文章主要介紹了Java中stream處理中map與flatMap的比較和使用案例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
Feign如何使用protobuf的類作為參數(shù)調(diào)用
這篇文章主要介紹了Feign如何使用protobuf的類作為參數(shù)調(diào)用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
使用RocketMQTemplate發(fā)送帶tags的消息
這篇文章主要介紹了使用RocketMQTemplate發(fā)送帶tags的消息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot2.x版本中,使用SpringSession踩的坑及解決
這篇文章主要介紹了SpringBoot2.x版本中,使用SpringSession踩的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

