org.foray.graphic
Class PNGGraphic

java.lang.Object
  extended by org.foray.graphic.Graphic4a
      extended by org.foray.graphic.PNGGraphic
All Implemented Interfaces:
org.axsl.graphic.Graphic

public class PNGGraphic
extends Graphic4a

A PNG (Portable Network Graphics) images.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.axsl.graphic.Graphic
org.axsl.graphic.Graphic.Compression, org.axsl.graphic.Graphic.Type
 
Field Summary
protected static byte PIXEL_HEIGHT_STARTS
          Constant indicating the location of the first byte (of four) in the file indicating the pixel height.
protected static byte PIXEL_WIDTH_STARTS
          Constant indicating the location of the first byte (of four) in the file indicating the pixel width.
static int PNG_BASICS_LENGTH
          The number of bytes that need to be read to get the basic information for a PNG file.
 
Fields inherited from class org.foray.graphic.Graphic4a
BIT_DEPTH_4, BIT_DEPTH_COLOR, BIT_DEPTH_GRAYSCALE, BIT_DEPTH_MONOCHROME
 
Constructor Summary
PNGGraphic(GraphicServer4a server, URL url, BufferedInputStream bis)
          Constructor.
 
Method Summary
 int absoluteHeightReal()
          Returns the absolute height, in millipoints, of the graphic.
 int absoluteWidthReal()
          Returns the absolute width, in millipoints, of the graphic.
protected  org.apache.xmlgraphics.image.rendered.CachableRed decodeImage(org.apache.xmlgraphics.image.codec.util.SeekableStream stream)
          Decodes the image from the stream.
 ColorSpace getColorSpace()
           
 org.axsl.graphic.Graphic.Compression getCompressionType()
           
 org.axsl.graphic.Graphic.Type getGraphicType()
           
 String getMimeType()
           
 String getName()
           
 byte[] getRawSamples()
           
 org.apache.xmlgraphics.image.codec.util.SeekableStream getSeekableInput()
          Returns the seekable input.
 Color getTransparentColor()
           
 boolean isInverted()
           
 boolean isTransparent()
           
protected  void loadImage()
          Load image data and initialize its properties.
 void parseBasics()
          This abstract method is implemented in subclasses to initiate parsing of enough of the image for it to be used in layout.
 int pixelHeight()
           
 int pixelWidth()
           
 
Methods inherited from class org.foray.graphic.Graphic4a
absoluteHeight, absoluteWidth, canMakeGraphicOutput, close, getBitDepth, getBitsPerComponent, getContent, getContentSize, getGraphicOutput, getInputStream, getLinks, getLogger, getRawColorSpace, getServer, getUrl, isImageLoaded, isValid, loadImageWrapper, maxBytesToParseBasics, parseBasicsWrapper, setBasicsParsed, setBitDepth, setContent, setImageLoaded, setInputStream, setLinks, setValid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PNG_BASICS_LENGTH

public static final int PNG_BASICS_LENGTH
The number of bytes that need to be read to get the basic information for a PNG file.

See Also:
Constant Field Values

PIXEL_WIDTH_STARTS

protected static final byte PIXEL_WIDTH_STARTS
Constant indicating the location of the first byte (of four) in the file indicating the pixel width.

See Also:
Constant Field Values

PIXEL_HEIGHT_STARTS

protected static final byte PIXEL_HEIGHT_STARTS
Constant indicating the location of the first byte (of four) in the file indicating the pixel height.

See Also:
Constant Field Values
Constructor Detail

PNGGraphic

public PNGGraphic(GraphicServer4a server,
                  URL url,
                  BufferedInputStream bis)
Constructor.

Parameters:
server - The parent graphic server.
url - The URL which contains the graphic content.
bis - The reusable input stream containing the bytes from url.
Method Detail

getMimeType

public String getMimeType()

getName

public String getName()

getCompressionType

public org.axsl.graphic.Graphic.Compression getCompressionType()
                                                        throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException

getGraphicType

public org.axsl.graphic.Graphic.Type getGraphicType()

parseBasics

public void parseBasics()
                 throws IOException
Description copied from class: Graphic4a

This abstract method is implemented in subclasses to initiate parsing of enough of the image for it to be used in layout. This method is responsible to:

  1. store the image's intrinsic width in Graphic.pixelWidth()
  2. store the image's intrinsic height in Graphic.pixelHeight()

The housekeeping work related to resetting the buffer, handling IOExceptions, and managing whether this method should be run are handled elsewhere. In short, this method does not need to address the details handled there.

Specified by:
parseBasics in class Graphic4a
Throws:
IOException - For IO errors during reading of the file.

decodeImage

protected org.apache.xmlgraphics.image.rendered.CachableRed decodeImage(org.apache.xmlgraphics.image.codec.util.SeekableStream stream)
                                                                 throws IOException
Decodes the image from the stream.

Parameters:
stream - the stream to read the image from
Returns:
the decoded image
Throws:
IOException - in case an I/O problem occurs

loadImage

protected void loadImage()
                  throws org.axsl.graphic.GraphicException
Description copied from class: Graphic4a
Load image data and initialize its properties. Subclasses need to implement this method.

Specified by:
loadImage in class Graphic4a
Throws:
org.axsl.graphic.GraphicException - an error occured during loading

getSeekableInput

public org.apache.xmlgraphics.image.codec.util.SeekableStream getSeekableInput()
Returns the seekable input.

Returns:
The seekableInput.

getRawSamples

public byte[] getRawSamples()
                     throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException

absoluteWidthReal

public int absoluteWidthReal()
                      throws org.axsl.graphic.GraphicException
Description copied from class: Graphic4a
Returns the absolute width, in millipoints, of the graphic.

Specified by:
absoluteWidthReal in class Graphic4a
Returns:
The absolute width, in millipoints, of this graphic, if known. If not known, returns -1.
Throws:
org.axsl.graphic.GraphicException - For errors during reading of image file.

absoluteHeightReal

public int absoluteHeightReal()
                       throws org.axsl.graphic.GraphicException
Description copied from class: Graphic4a
Returns the absolute height, in millipoints, of the graphic.

Specified by:
absoluteHeightReal in class Graphic4a
Returns:
The absolute height, in millipoints, of this graphic, if known. If not known, returns -1.
Throws:
org.axsl.graphic.GraphicException - For errors during reading of image file.

isInverted

public boolean isInverted()

getColorSpace

public ColorSpace getColorSpace()
                         throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException

isTransparent

public boolean isTransparent()
                      throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException

getTransparentColor

public Color getTransparentColor()
                          throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException

pixelWidth

public int pixelWidth()
               throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException

pixelHeight

public int pixelHeight()
                throws org.axsl.graphic.GraphicException
Throws:
org.axsl.graphic.GraphicException


Copyright © 2017. All rights reserved.