pgm图片的base64转png的base64
示例:
import com.twelvemonkeys.imageio.plugins.pnm.PNMImageReaderSpi;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Base64;
public class ConvertPGMToPNG {
public static void main(String[] args) throws IOException {
String pgmBase64 = "BASE64_ENCODED_PGM_IMAGE";
byte[] pgmBytes = Base64.getDecoder().decode(pgmBase64);
ByteArrayInputStream bais = new ByteArrayInputStream(pgmBytes);
ImageReader reader = new PNMImageReaderSpi().createReaderInstance();
reader.setInput(ImageIO.createImageInputStream(bais));
BufferedImage pgmImage = reader.read(0);
String pngBase64 = convertBufferedImageToPNGBase64(pgmImage);
}
private static String convertBufferedImageToPNGBase64(BufferedImage image) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
byte[] pngBytes = baos.toByteArray();
return Base64.getEncoder().encodeToString(pngBytes);
}
}
maven依赖:
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.8.2</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-pnm</artifactId>
<version>3.8.2</version>
</dependency>