脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页软件编程java→ java gif转换jpg

Java gif图片转换为jpg格式

  更新时间:2019年08月14日 09:12:50  作者:东方飘雪 
这篇文章主要介绍了Java gif图片转换为jpg格式的实例代码,文中给大家提到了用java将png图片转换成jpg格式的图片,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

下面通过代码给大家介绍Java gif图片转换为jpg格式,具体代码如下所示:

if(fileName.toLowerCase().endsWith(".gif")){//由于头像上传支持JPG、JPEG、BMP、GIF、PNG格式图片.而商汤人脸设备仅支持JPG、JPEG、BMP、PNG,故如图片为GIF格式需要转换
fileParams.put("avatarFile", api.GifToJpg(avatar_file));
}else{
fileParams.put("avatarFile", api.getBytes(avatar_file));
}
/**
* 将文件转换为byte二进制流
* @param f
* @return
*/
public static byte[] getBytes(File f) {
try {
InputStream in = new FileInputStream(f);
ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
byte[] b = new byte[1024];
int n;
while ((n = in.read(b)) != -1)
out.write(b, 0, n);
in.close();
out.close();
return out.toByteArray();
} catch (IOException e) {
logger.error("***请设置文件路径***");
e.printStackTrace();
}
return null;
}
/**
* 将gif格式图片转换为jpg格式文件,并直接返回byte二进制流
* @param file
* @return
*/
public static byte[] GifToJpg(File file){
BufferedImage bufferedImage;
ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
try {
// read image file
bufferedImage = ImageIO.read(file);
// create a blank, RGB, same width and height, and a white
BufferedImage newBufferedImage = new BufferedImage(
bufferedImage.getWidth(), bufferedImage.getHeight(),
BufferedImage.TYPE_INT_RGB);
// TYPE_INT_RGB:创建一个RBG图像,24位深度,成功将32位图转化成24位
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0,Color.WHITE, null);
// write to jpeg file
ImageIO.write(newBufferedImage, "jpg",out);//转换输出到二进制数组流
//ImageIO.write(newBufferedImage, "jpg",new File("c:\\java.jpg"));//转换输出到文件
return out.toByteArray();//二进制流
} catch (IOException e) {
logger.error("***GifToJpg方法报错***");
e.printStackTrace();
}
return null;
}

知识点扩展:

用java将png图片转换成jpg格式的图片

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ConvertImageFile {
public static void main(String[] args) {
BufferedImage bufferedImage;
try {
//read image file
bufferedImage = ImageIO.read(new File("c:\\java.png"));
// create a blank, RGB, same width and height, and a white background
BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(),
bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
//TYPE_INT_RGB:创建一个RBG图像,24位深度,成功将32位图转化成24位
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null);
// write to jpeg file
ImageIO.write(newBufferedImage, "jpg", new File("c:\\java.jpg"));
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
}
}

总结

以上所述是小编给大家介绍的Java gif图片转换为jpg格式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

    • 现有一个 10G 文件的数据,里面包含了 18-70 之间的整数,分别表示 18-70 岁的人群数量统计,今天小编通过本文给大家讲解如何用Java 几分钟处理完 30 亿个数据,这个问题一直以来是项目难题,今天通过本文给大家详细介绍下,感兴趣的朋友一起看看吧
      2022-07-07
    • 这篇文章主要介绍了java 线程的生命周期详解的相关资料,需要的朋友可以参考下
      2017-07-07
    • 这篇文章主要介绍了Spring使用AspectJ的注解式实现AOP面向切面编程的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
      2021-06-06
    • 这篇文章主要介绍了java15的新功能,虽然java15并不是长期支持的版本,但是很多新功能还是很有用的。感兴趣的小伙伴可以参考一下
      2021-08-08
    • 本篇是Hadoop源码分析系列文章第二篇,主要介绍Hadoop安装配置的详细过程,后续本系列文章会持续更新,有需要的朋友可以借鉴参考下
      2021-09-09
    • 这篇文章主要为大家详细介绍了java使用Dijkstra算法实现单源最短路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
      2019-01-01
    • 这篇文章主要介绍了UniApp + SpringBoot 实现微信支付和退款功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
      2022-06-06
    • MinIO是全球领先的对象存储先锋,在标准硬件上,读/写速度上高达183 GB/秒和171 GB/秒,下面这篇文章主要给大家介绍了关于springboot整合minio的相关资料,这个教程可能是全网最详细的,需要的朋友可以参考下
      2022-06-06
    • 本文给大家分享Java-list创建的两种常见方式,每种方式结合实例代码给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
      2022-11-11
    • 这篇文章主要介绍了spring boot项目fat jar瘦身的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2018-06-06

    最新评论