Java gif图片转换为jpg格式
下面通过代码给大家介绍Javagif图片转换为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二进制流 *@paramf *@return */ publicstaticbyte[]getBytes(Filef){ try{ InputStreamin=newFileInputStream(f); ByteArrayOutputStreamout=newByteArrayOutputStream(1024); byte[]b=newbyte[1024]; intn; while((n=in.read(b))!=-1) out.write(b,0,n); in.close(); out.close(); returnout.toByteArray(); }catch(IOExceptione){ logger.error("***请设置文件路径***"); e.printStackTrace(); } returnnull; } /** *将gif格式图片转换为jpg格式文件,并直接返回byte二进制流 *@paramfile *@return */ publicstaticbyte[]GifToJpg(Filefile){ BufferedImagebufferedImage; ByteArrayOutputStreamout=newByteArrayOutputStream(1024); try{ //readimagefile bufferedImage=ImageIO.read(file); //createablank,RGB,samewidthandheight,andawhite BufferedImagenewBufferedImage=newBufferedImage( bufferedImage.getWidth(),bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB); //TYPE_INT_RGB:创建一个RBG图像,24位深度,成功将32位图转化成24位 newBufferedImage.createGraphics().drawImage(bufferedImage,0,0,Color.WHITE,null); //writetojpegfile ImageIO.write(newBufferedImage,"jpg",out);//转换输出到二进制数组流 //ImageIO.write(newBufferedImage,"jpg",newFile("c:\\java.jpg"));//转换输出到文件 returnout.toByteArray();//二进制流 }catch(IOExceptione){ logger.error("***GifToJpg方法报错***"); e.printStackTrace(); } returnnull; }
知识点扩展:
用java将png图片转换成jpg格式的图片
importjava.awt.Color; importjava.awt.image.BufferedImage; importjava.io.File; importjava.io.IOException; importjavax.imageio.ImageIO; publicclassConvertImageFile{ publicstaticvoidmain(String[]args){ BufferedImagebufferedImage; try{ //readimagefile bufferedImage=ImageIO.read(newFile("c:\\java.png")); //createablank,RGB,samewidthandheight,andawhitebackground BufferedImagenewBufferedImage=newBufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(),BufferedImage.TYPE_INT_RGB); //TYPE_INT_RGB:创建一个RBG图像,24位深度,成功将32位图转化成24位 newBufferedImage.createGraphics().drawImage(bufferedImage,0,0,Color.WHITE,null); //writetojpegfile ImageIO.write(newBufferedImage,"jpg",newFile("c:\\java.jpg")); System.out.println("Done"); }catch(IOExceptione){ e.printStackTrace(); } } }
总结
以上所述是小编给大家介绍的Javagif图片转换为jpg格式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!