• 技术文章 >Java >java教程

    Java怎么实现bmp和jpeg图片格式互转

    PHPzhongPHPzhong2023-04-13 17:31:10转载12

    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图片格式互转的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
    专题推荐:Java
    上一篇:Java9中接口的私有方法怎么使用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java泛型指的是什么• JAVA发送HTTP请求的方式有哪些• Java哈希表和有序表怎么实现• Java之Scanner.nextLine()读取回车的问题如何解决• java泛型方法的特征是什么
    1/1

    PHP中文网