gnu.javax.imageio.png

Class PNGHeader


public class PNGHeader
extends PNGChunk

A PNG Header chunk.

Field Summary

static int
GRAYSCALE
The valid color types.
static int
GRAYSCALE_WITH_ALPHA
static int
INDEXED
static int
INTERLACE_ADAM7
static int
INTERLACE_NONE
The valid interlace types.
static int
RGB
static int
RGB_WITH_ALPHA

Fields inherited from class gnu.javax.imageio.png.PNGChunk

TYPE_DATA, TYPE_END, TYPE_GAMMA, TYPE_HEADER, TYPE_PALETTE, TYPE_PHYS, TYPE_PROFILE, TYPE_TIME, data

Constructor Summary

PNGHeader(int type, byte[] data, int crc)
Parses a PNG Header chunk.
PNGHeader(int width, int height, int depth, int colorType, boolean interlace)
Create a PNG header chunk.

Method Summary

int
bytesPerPixel()
Returns the number of bytes per pixel.
int
getColorType()
Returns the color type of the image.
int
getDepth()
int
getHeight()
int
getScanlineStride()
Returns the stride of one scanline, in bytes.
int
getWidth()
boolean
isGrayscale()
Returns true if this PNG is grayscale
boolean
isIndexed()
Returns true if this PNG is indexed-color
boolean
isInterlaced()
Returns whether the image is interlaced or not.
boolean
isValidChunk()
Validates the header fields
String
toString()
Debugging string.

Methods inherited from class gnu.javax.imageio.png.PNGChunk

getInt, getType, isEmpty, isValidChunk, readChunk, toString, writeChunk

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

GRAYSCALE

public static final int GRAYSCALE
The valid color types.
Field Value:
0

GRAYSCALE_WITH_ALPHA

public static final int GRAYSCALE_WITH_ALPHA
Field Value:
4

INDEXED

public static final int INDEXED
Field Value:
3

INTERLACE_ADAM7

public static final int INTERLACE_ADAM7
Field Value:
1

INTERLACE_NONE

public static final int INTERLACE_NONE
The valid interlace types.
Field Value:
0

RGB

public static final int RGB
Field Value:
2

RGB_WITH_ALPHA

public static final int RGB_WITH_ALPHA
Field Value:
6

Constructor Details

PNGHeader

protected PNGHeader(int type,
                    byte[] data,
                    int crc)
            throws PNGException
Parses a PNG Header chunk.

PNGHeader

public PNGHeader(int width,
                 int height,
                 int depth,
                 int colorType,
                 boolean interlace)
Create a PNG header chunk. Warning: This trusts that the parameters are valid.

Method Details

bytesPerPixel

public int bytesPerPixel()
Returns the number of bytes per pixel.

getColorType

public int getColorType()
Returns the color type of the image.

getDepth

public int getDepth()

getHeight

public int getHeight()

getScanlineStride

public int getScanlineStride()
Returns the stride of one scanline, in bytes.

getWidth

public int getWidth()

isGrayscale

public boolean isGrayscale()
Returns true if this PNG is grayscale

isIndexed

public boolean isIndexed()
Returns true if this PNG is indexed-color

isInterlaced

public boolean isInterlaced()
Returns whether the image is interlaced or not.

isValidChunk

public boolean isValidChunk()
Validates the header fields
Overrides:
isValidChunk in interface PNGChunk

toString

public String toString()
Debugging string.
Overrides:
toString in interface PNGChunk

PNGHeader.java -- PNG Header Copyright (C) 2006 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.