public class PNGImageEncoder extends ImageEncoderImpl
Modifier and Type | Field and Description |
---|---|
private byte[] |
alphaPalette |
private int |
bitDepth |
private int |
bitShift |
private byte[] |
bluePalette |
private int |
bpp |
private int |
colorType |
private boolean |
compressGray |
private byte[] |
currRow |
private java.io.DataOutputStream |
dataOutput |
private byte[][] |
filteredRows |
private byte[] |
greenPalette |
private int |
height |
private java.awt.image.RenderedImage |
image |
private boolean |
interlace |
private static byte[] |
magic |
private int |
numBands |
private PNGEncodeParam |
param |
private static int |
PNG_COLOR_GRAY |
private static int |
PNG_COLOR_GRAY_ALPHA |
private static int |
PNG_COLOR_PALETTE |
private static int |
PNG_COLOR_RGB |
private static int |
PNG_COLOR_RGB_ALPHA |
private byte[] |
prevRow |
private byte[] |
redPalette |
private boolean |
skipAlpha |
private static float[] |
srgbChroma |
private int |
width |
output
Constructor and Description |
---|
PNGImageEncoder(java.io.OutputStream output,
PNGEncodeParam param) |
Modifier and Type | Method and Description |
---|---|
private static int |
clamp(int val,
int maxValue) |
private PNGEncodeParam.Gray |
createGrayParam(byte[] redPalette,
byte[] greenPalette,
byte[] bluePalette,
byte[] alphaPalette)
Analyzes a set of palettes and determines if it can be expressed
as a standard set of gray values, with zero or one values being
fully transparent and the rest being fully opaque.
|
void |
encode(java.awt.image.RenderedImage im)
This method encodes a
RenderedImage into PNG. |
private void |
encodePass(java.io.OutputStream os,
java.awt.image.Raster ras,
int xOffset,
int yOffset,
int xSkip,
int ySkip) |
private void |
writeBKGD() |
private void |
writeCHRM() |
private void |
writeGAMA() |
private void |
writeHIST() |
private void |
writeICCP() |
private void |
writeIDAT() |
private void |
writeIEND() |
private void |
writeIHDR() |
private void |
writeMagic() |
private void |
writePHYS() |
private void |
writePLTE() |
private void |
writePrivateChunks() |
private void |
writeSBIT() |
private void |
writeSPLT() |
private void |
writeSRGB() |
private void |
writeTEXT() |
private void |
writeTIME() |
private void |
writeTRNS() |
private void |
writeZTXT() |
encode, getOutputStream, getParam, setParam
private static final int PNG_COLOR_GRAY
private static final int PNG_COLOR_RGB
private static final int PNG_COLOR_PALETTE
private static final int PNG_COLOR_GRAY_ALPHA
private static final int PNG_COLOR_RGB_ALPHA
private static final byte[] magic
private PNGEncodeParam param
private java.awt.image.RenderedImage image
private int width
private int height
private int bitDepth
private int bitShift
private int numBands
private int colorType
private int bpp
private boolean skipAlpha
private boolean compressGray
private boolean interlace
private byte[] redPalette
private byte[] greenPalette
private byte[] bluePalette
private byte[] alphaPalette
private java.io.DataOutputStream dataOutput
private byte[] prevRow
private byte[] currRow
private byte[][] filteredRows
private static final float[] srgbChroma
public PNGImageEncoder(java.io.OutputStream output, PNGEncodeParam param)
private void writeMagic() throws java.io.IOException
java.io.IOException
private void writeIHDR() throws java.io.IOException
java.io.IOException
private static int clamp(int val, int maxValue)
private void encodePass(java.io.OutputStream os, java.awt.image.Raster ras, int xOffset, int yOffset, int xSkip, int ySkip) throws java.io.IOException
java.io.IOException
private void writeIDAT() throws java.io.IOException
java.io.IOException
private void writeIEND() throws java.io.IOException
java.io.IOException
private void writeCHRM() throws java.io.IOException
java.io.IOException
private void writeGAMA() throws java.io.IOException
java.io.IOException
private void writeICCP() throws java.io.IOException
java.io.IOException
private void writeSBIT() throws java.io.IOException
java.io.IOException
private void writeSRGB() throws java.io.IOException
java.io.IOException
private void writePLTE() throws java.io.IOException
java.io.IOException
private void writeBKGD() throws java.io.IOException
java.io.IOException
private void writeHIST() throws java.io.IOException
java.io.IOException
private void writeTRNS() throws java.io.IOException
java.io.IOException
private void writePHYS() throws java.io.IOException
java.io.IOException
private void writeSPLT() throws java.io.IOException
java.io.IOException
private void writeTIME() throws java.io.IOException
java.io.IOException
private void writeTEXT() throws java.io.IOException
java.io.IOException
private void writeZTXT() throws java.io.IOException
java.io.IOException
private void writePrivateChunks() throws java.io.IOException
java.io.IOException
private PNGEncodeParam.Gray createGrayParam(byte[] redPalette, byte[] greenPalette, byte[] bluePalette, byte[] alphaPalette)
public void encode(java.awt.image.RenderedImage im) throws java.io.IOException
RenderedImage
into PNG.
The stream into which the PNG is dumped is not closed at
the end of the operation, this should be done if needed
by the caller of this method.encode
in interface ImageEncoder
encode
in class ImageEncoderImpl
java.io.IOException