Java实现bmp和jpeg图片格式互转
更新时间:2023年04月12日 11:07:18 作者:划]破
本文主要介绍了Java实现bmp和jpeg图片格式互转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Bmp转Jpeg
public static String bmp2Jpeg(String filePath, String outPath) { try { long start = System.currentTimeMillis(); // 加载bmp图片 File file = new File(filePath); Image img = ImageIO.read(file); BufferedImage tag = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(img.getScaledInstance(img.getWidth(null), img.getHeight(null), Image.SCALE_SMOOTH), 0, 0, null); // 输出为Jpeg FileOutputStream out = new FileOutputStream(outPath); // JPEGImageEncoder可适用于其他图片类型的转换 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); out.close(); log.info("bmp 转 JPEG,共耗时: " + (System.currentTimeMillis() - start) + " 毫秒"); return outPath; } catch (IOException e) { e.printStackTrace(); } return outPath; }
Jpeg转Bmp
public static void jpeg2Bmp(String inputPath, String outputPath) { try { long start = System.currentTimeMillis(); // 加载Jpeg图片资源 FileImageInputStream fiis = new FileImageInputStream(new File(inputPath)); FileImageOutputStream fios = new FileImageOutputStream(new File(outputPath)); ImageReader jpegReader = null; Iterator<ImageReader> it1 = ImageIO.getImageReadersByFormatName("jpeg"); if (it1.hasNext()) { jpegReader = it1.next(); } jpegReader.setInput(fiis); ImageWriter bmpWriter = null; Iterator<ImageWriter> it2 = ImageIO.getImageWritersByFormatName("bmp"); if (it2.hasNext()) { bmpWriter = it2.next(); } bmpWriter.setOutput(fios); BufferedImage br = jpegReader.read(0); bmpWriter.write(br); fiis.close(); fios.close(); log.info("jpeg 转 bmp,共耗时:" + (System.currentTimeMillis() - start) + " 毫秒"); } catch (IOException e) { e.printStackTrace(); } }
到此这篇关于Java实现bmp和jpeg图片格式互转的文章就介绍到这了,更多相关Java实现bmp和jpeg内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot+Vue静态资源刷新后无法访问的问题解决方案
这篇文章主要介绍了SpringBoot+Vue静态资源刷新后无法访问的问题解决方案,文中通过代码示例和图文讲解的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下2024-05-05利用Spring Session和redis对Session进行共享详解
这篇文章主要给大家介绍了关于利用Spring、Session和redis对Session进行共享的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2017-09-09SSM框架整合之Spring+SpringMVC+MyBatis实践步骤
大家都知道Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,本文主要介绍三大框架的整合包含spring和mybatis的配置文件,还有spring-mvc的配置文件的详细介绍,通过项目实践步骤给大家详细介绍,感兴趣的朋友一起看看吧2021-06-06
最新评论