Image transcoding (JPEG to PNG) with Java

前端 未结 4 1081
谎友^
谎友^ 2020-12-08 16:44

In my Java application I would like to download a JPEG, transfer it to a PNG and do something with the resulting bytes.

I am almost certain I remember a library to d

相关标签:
4条回答
  • 2020-12-08 16:53

    ImageIO can be used to load JPEG files and save PNG files (also into a ByteArrayOutputStream if you don't want to write to a file).

    0 讨论(0)
  • 2020-12-08 17:11

    javax.imageio should be enough. Put your JPEG to BufferedImage, then save it with:

    File file = new File("newimage.png");
    ImageIO.write(myJpegImage, "png", file);
    
    0 讨论(0)
  • 2020-12-08 17:12

    This is what I ended up doing, I was thinking toooo far outside of the box when I asked the question..

    // these are the imports needed
    import java.awt.image.BufferedImage;
    import java.io.File;
    import javax.imageio.ImageIO;
    import java.io.ByteArrayOutputStream;
    
    // read a jpeg from a inputFile
    BufferedImage bufferedImage = ImageIO.read(new File(inputFile));
    
    // write the bufferedImage back to outputFile
    ImageIO.write(bufferedImage, "png", new File(outputFile));
    
    // this writes the bufferedImage into a byte array called resultingBytes
    ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
    ImageIO.write(bufferedImage, "png", byteArrayOut);
    byte[] resultingBytes = byteArrayOut.toByteArray();
    
    0 讨论(0)
  • 2020-12-08 17:16
    BufferedImage bufferGambar;
    try {
    
        bufferGambar = ImageIO.read(new File("ImagePNG.png"));
        // pkai type INT karna bertipe integer RGB bufferimage
        BufferedImage newBufferGambar = new BufferedImage(bufferGambar.getWidth(), bufferGambar.getHeight(), BufferedImage.TYPE_INT_RGB);
    
        newBufferGambar.createGraphics().drawImage(bufferGambar, 0, 0, Color.white, null);
        ImageIO.write(newBufferGambar, "jpg", new File("Create file JPEG.jpg"));
    
        JOptionPane.showMessageDialog(null, "Convert to JPG succes YES");
    
    } catch(Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
    
    0 讨论(0)
提交回复
热议问题