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

作者:lijiao 时间:2023-01-22 05:43:02 

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

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


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图片格式转换代码


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图片格式转换代码


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图片格式转换的方法。

标签:java,图片格式
0
投稿

猜你喜欢

  • C#中函数的创建和闭包的理解

    2022-08-17 01:14:35
  • 弹出一个带确认和取消的dialog实例

    2023-11-22 06:07:13
  • Spring Boot加密配置文件特殊内容的示例代码详解

    2023-09-18 08:47:24
  • 解析C#中的常量及如何在C#编程中定义常量

    2022-03-20 22:58:36
  • SpringMVC数据页响应ModelAndView实现页面跳转

    2022-04-29 15:21:10
  • Android中回调接口的使用介绍

    2022-07-24 02:45:07
  • 线程阻塞唤醒工具 LockSupport使用详解

    2023-11-29 17:16:10
  • 那些年,我还在学习C# 学习笔记

    2021-11-09 07:08:35
  • maven中下载jar包源码和javadoc的命令介绍

    2023-07-27 04:41:01
  • Android 调用系统照相机拍照和录像

    2023-10-30 05:40:35
  • 合并有序数组的实现(java与C语言)

    2023-08-16 13:45:40
  • C++编写DLL动态链接库的步骤与实现方法

    2023-01-30 12:59:33
  • 一文快速掌握Spring Cloud Stream

    2023-09-01 23:09:38
  • android中UI主线程与子线程深入分析

    2022-02-06 15:19:25
  • Android自定义EditText右侧带图片控件

    2023-08-30 03:09:47
  • swagger添加权限验证保证API(接口)安全性(两种方法)

    2023-11-27 18:58:33
  • 线程池中使用spring aop事务增强

    2021-08-06 06:37:19
  • Java常用类之System类的使用指南

    2021-09-20 07:54:46
  • java springmvc实现验证码功能

    2022-09-07 12:12:41
  • SQL Server中的数据复制到的Access中的函数

    2021-10-05 16:06:42
  • asp之家 软件编程 m.aspxhome.com