Java——图片格式转换

利用java开发中遇到图片转换格式需求怎么办,利用以下方法轻松搞定。

1.利用流的方式,ImageIO调用write方法写出,选写需要的图片格式,例如”png,jpg等“

/**
     * 转png格式
     *
     * @param inputStream
     * @throws IOException
     */
     public static void toPng(ImageInputStream inputStream) throws IOException {

        BufferedImage bufferedImage = ImageIO.read(inputStream);
        BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
        newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.white, null);
        ImageIO.write(newBufferedImage, "png", new File("D:/" + UUID.randomUUID(true).toString() + ".png"));
    }

2.传入原图的保存地址

/**
  	* 转jpg格式
    *
    * @param picPath
    * @throws IOException
    */
    public static void toJpg(String picPath) throws IOException {

    BufferedImage bufferedImage = ImageIO.read(new File(picPath));
    BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
    newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.white, null);
    ImageIO.write(newBufferedImage, "jpg", new File("D:/" + UUID.randomUUID(true).toString() + ".jpg"));

  }

3.利用流保存图片

/**
 * jpeg转png
 *
 * @param picPath
 * @throws IOException
 */
public static void toPng(String picPath) throws IOException {
    BufferedImage bufferedImage = ImageIO.read(new File(picPath));
    //转成png
    BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_ARGB);
    newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.white, null);
    FileOutputStream fos = new FileOutputStream("D:/"+ UUID.randomUUID(true).toString() + ".png");
    ImageIO.write(newBufferedImage, "png", fos);
    fos.close();
}

通过以上方法,轻松搞定图片格式的转换。


版权声明:本文为m0_58596092原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。