首页 > 编程 > Java > 正文

Java gif图片转换为jpg格式

2019-11-26 08:43:20
字体:
来源:转载
供稿:网友

下面通过代码给大家介绍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格式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表