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; /* * 可以實(shí)現(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)換 } }
上面三段代碼的編寫(xiě)順序,并不代表代碼性能的好壞,大家可以在學(xué)習(xí)過(guò)程中,區(qū)分各個(gè)代碼的利弊,從中總結(jié)經(jīng)驗(yàn),進(jìn)一步掌握
java圖片格式轉(zhuǎn)換的方法。
- php中將圖片gif,jpg或mysql longblob或blob字段值轉(zhuǎn)換成16進(jìn)制字符串
- Java實(shí)現(xiàn)將png格式圖片轉(zhuǎn)換成jpg格式圖片的方法【測(cè)試可用】
- Java實(shí)現(xiàn)base64圖片編碼數(shù)據(jù)轉(zhuǎn)換為本地圖片的方法
- Java實(shí)現(xiàn)圖片與二進(jìn)制的互相轉(zhuǎn)換
- Java 圖片與byte數(shù)組互相轉(zhuǎn)換實(shí)例
- 實(shí)例詳解Java實(shí)現(xiàn)圖片與base64字符串之間的轉(zhuǎn)換
- Java gif圖片轉(zhuǎn)換為jpg格式
相關(guān)文章
idea使用pagehelper實(shí)現(xiàn)后端分頁(yè)功能的步驟詳解
這篇文章主要介紹了idea使用pagehelper實(shí)現(xiàn)后端分頁(yè)功能的步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09java N皇后實(shí)現(xiàn)問(wèn)題解析
將 n 個(gè)皇后擺放在一個(gè) n x n 的棋盤上,使得每一個(gè)皇后都無(wú)法攻擊到其他皇后,N皇后問(wèn)題是一個(gè)典型的約束求解問(wèn)題,利用遞歸機(jī)制,可以很快的得到結(jié)果,本文將詳細(xì)介紹,需要了解的朋友可以參考下2012-11-11SpringBoot + Spring Security 基本使用及個(gè)性化登錄配置詳解
這篇文章主要介紹了SpringBoot + Spring Security 基本使用及個(gè)性化登錄配置詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05源碼解析Spring 數(shù)據(jù)庫(kù)異常抽理知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家分享了關(guān)于源碼解析Spring 數(shù)據(jù)庫(kù)異常抽理知識(shí)點(diǎn)內(nèi)容,對(duì)此有需要的朋友們學(xué)習(xí)參考下。2019-05-05深入理解Netty?FastThreadLocal優(yōu)缺點(diǎn)及實(shí)現(xiàn)邏輯
本文以線上詭異問(wèn)題為切入點(diǎn),通過(guò)對(duì)比JDK ThreadLocal和Netty FastThreadLocal實(shí)現(xiàn)邏輯以及優(yōu)缺點(diǎn),并深入解讀源碼,由淺入深理解Netty FastThreadLocal2023-10-10深入理解java異常處理機(jī)制的原理和開(kāi)發(fā)應(yīng)用
Java異常處理機(jī)制在日常開(kāi)發(fā)中應(yīng)用頻繁,本篇文章主要在基礎(chǔ)的使用方法上,更進(jìn)一步的,如何更加合理的使用異常機(jī)制,希望可以對(duì)各位朋友能有所幫助。2017-04-04springBoot之如何獲取接口請(qǐng)求數(shù)據(jù)和返回?cái)?shù)據(jù)實(shí)現(xiàn)日志
這篇文章主要介紹了springBoot之如何獲取接口請(qǐng)求數(shù)據(jù)和返回?cái)?shù)據(jù)實(shí)現(xiàn)日志問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04SpringBoot工程啟動(dòng)順序與自定義監(jiān)聽(tīng)超詳細(xì)講解
這篇文章主要介紹了SpringBoot工程啟動(dòng)順序與自定義監(jiān)聽(tīng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-11-11