java图片格式转换的三段代码
作者:lijiao 发布时间:2023-01-22 05:43:02
标签:java,图片格式
网上关于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图片格式转换的方法。
0
投稿
猜你喜欢
- 一、MyBatis的逆向⼯程(1)所谓的逆向⼯程是:根据数据库表逆向⽣成Java的pojo类,SqlMapper.xml⽂件,以及Mappe
- SqlssionFactory1.SqlSessionFactory是MyBatis的关键对象,它是个单个数据库映射关系经过编译后的内存镜像
- 做消息通信,消息会不断从网络流中取得,而后台也有线程不断消费。本来我一直是使用一些线程安全标识或方法来控制,后来在网上找到一些java新特性
- 前言反射和注解在java中偏高级用法,一般在各种框架中被广泛应用,文章简单介绍下反射和注解的用法,希望对你的工作学习有一定帮助java注解什
- 本文实例为大家分享了AJAX二级联动效果的具体代码,供大家参考,具体内容如下Ajax.jsvar createAjax = function
- 1 框架组成SpringSpringMVCMyBatis2 所需工具Mysql 8.0.15数据库管理系统,创建数据库Tomcat 8.5.
- 目录1、对于A、B两种排队方式,说法正确的是2、Inter-process communication (IPC) is the trans
- 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,
- 常用的字符串转date,和日期转字符串的方法,具体内容如下package com.cq2022.zago.base.util; import
- Socket异常客户端异常java.net.ConnectException: Connection refused: connect。该异
- 问题springcloud 版本 为 Finchley.RELEASEspringboot 版本为 2.0.3.RELEASE现在有需求,/
- 如何使用struts2 * ,或者自定义 * 。特别注意,在使用 * 的时候,在Action里面必须最后一定要引用struts2自带的 *
- 一、前言随着互联网项目前后端分离方式的流行,前端与后端交给不同的人员开发,项目沟通成本也随之提高。主要表现在WebAPI接口的沟通,Swag
- 简介通过 pulsar-flink-connector 读取到 Apache pulsar 中的namespaces、topics的元数据信
- 一、运算符运算符包括下面几种:算术运算符赋值运算符比较运算符逻辑运算符位运算符三目运算符最不常用的是位运算符,但也是最接近计算机底层的。1、
- 针对实例化过程中会做什么的分析,其中主要的是怎么推断出构造方法,怎么进行匹配【1】前言实例化这一步便是在doCreateBean方法的 in
- 一、安装Maven下载地址:https://maven.apache.org/download.cgi把下载的安装包解压tar -xvf a
- 一、导论java技术体系中所提到的内存自动化管理归根结底就是内存的分配与回收两个问题,之前已经和大家谈过java回收的相关知识,今天来和大家
- 调用示例: 执行效果: 2.实现代码:/// <summary> 2 &
- 实现的功能比较简单,就是随机产生了四个字符然后输出。效果图如下,下面我会详细说一下实现这个功能用到了那些知识点,并且会把 这些知识点详细的介