Java将rgb byte数组转成jpg

版权声明:作者:上善若水rs 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 https://blog.csdn.net/sofeware333/article/details/89572812
//将转换后的图片输出到本地
    public boolean rgbBytesToJpg(byte[] rgb, String afterPath, float jpgQuality)  {
        try {
            BufferedImage bufferedImage = new BufferedImage(210, 370, BufferedImage.TYPE_INT_RGB);
            bufferedImage.setRGB(0, 0, 210, 370, rgb24ToPix(rgb, 210, 370), 0, 210);
            File file = new File(afterPath);
//            ImageIO.write(bufferedImage, "jpg", file);

            Iterator<ImageWriter> iter = ImageIO
                    .getImageWritersByFormatName("jpeg");

            ImageWriter imageWriter = iter.next();
            ImageWriteParam iwp = imageWriter.getDefaultWriteParam();

            iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
            iwp.setCompressionQuality(jpgQuality);

            FileImageOutputStream fileImageOutput = new FileImageOutputStream(file);
            imageWriter.setOutput(fileImageOutput);
            IIOImage iio_image = new IIOImage(bufferedImage, null, null);
            imageWriter.write(null, iio_image, iwp);
            imageWriter.dispose();

            return true;
        } catch (Exception e) {
            logger.error("Save Jpg failed:" + afterPath);
            e.printStackTrace();
            return false;
        }
    }

猜你喜欢

转载自blog.csdn.net/sofeware333/article/details/89572812