服务器之家

服务器之家 > 正文

java图片格式转换的三段代码

时间:2020-01-21 15:17     来源/作者:lijiao

网上关于java图片格式内容的文章不是很多,也不是很完整,小编搜集了三段java图片格式转换代码,分享给大家:

第一段:java图片格式转换代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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转成PNG
    new FormatConversion().Conversion(JPG,GIF,src);//JPG转成GIF
    new FormatConversion().Conversion(JPG,BMP,src);//JPG转成BMP
    //其余格式转化只要调用Conversion函数即可
  }
   
  //inputFormat表示原格式,outputFormat表示转化后的格式
  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图片格式转换代码

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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("c:\\psb.jpg"),JPG, new File("c:\\psb2.jpg"));
      // 转换为GIF
      ConverterUtil.converter(new File("c:\\psb.jpg"),GIF, new File("c:\\psb2.gif"));
      // 转换为PNG
      ConverterUtil.converter(new File("c:\\psb.jpg"),PNG, new File("c:\\psb2.png"));
      // 转换为BMP
      ConverterUtil.converter(new File("c:\\psb.jpg"),BMP, new File("c:\\psb2.bmp"));
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

第三段:java图片格式转换代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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;
 
/*
 * 可以实现jpg/tif/bmp 等图片之间格式得互相转换
 */
public class Test {
 
  public static void main(String[] args) throws Exception {
 
    /* tif转换到jpg格式 */
    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转换到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();//关闭流
     
    //其他的一样的方式转换
 
  }
 
}

上面三段代码的编写顺序,并不代表代码性能的好坏,大家可以在学习过程中,区分各个代码的利弊,从中总结经验,进一步掌握

java图片格式转换的方法。

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部