Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Image transcoding (JPEG to PNG) with Java

Tags:

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 do this exists, I cannot remember its name.

like image 746
adam Avatar asked Dec 10 '08 16:12

adam


2 Answers

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();
like image 199
adam Avatar answered Sep 21 '22 21:09

adam


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).

like image 42
Joachim Sauer Avatar answered Sep 21 '22 21:09

Joachim Sauer