com.flagstone.transform.image
Class DefineJPEGImage3

java.lang.Object
  extended by com.flagstone.transform.image.DefineJPEGImage3
All Implemented Interfaces:
Copyable<MovieTag>, SWFEncodeable, DefineTag, ImageTag, MovieTag

public final class DefineJPEGImage3
extends Object
implements ImageTag

DefineJPEGImage3 is used to define a transparent JPEG encoded image.

It extends the DefineJPEGImage2 class by including a separate zlib compressed table of alpha channel values. This allows the transparency of existing JPEG encoded images to be changed without re-encoding the original image.

See Also:
DefineJPEGImage2

Constructor Summary
DefineJPEGImage3(DefineJPEGImage3 object)
          Creates and initialises a DefineJPEGImage3 object using the values copied from another DefineJPEGImage3 object.
DefineJPEGImage3(int uid, byte[] img, byte[] transparency)
          Creates a DefineJPEGImage3 object with the specified image data, and alpha channel data.
DefineJPEGImage3(SWFDecoder coder)
          Creates and initialises a DefineJPEGImage3 object using values encoded in the Flash binary format.
 
Method Summary
 DefineJPEGImage3 copy()
          Creates a complete copy of this object.
 void encode(SWFEncoder coder, Context context)
          Encode an object to the Flash binary format.
 byte[] getAlpha()
          Get a copy of the alpha channel.
 int getHeight()
          Get the height of the image in pixels (not twips).
 int getIdentifier()
          Get the unique identifier assigned to this object.
 byte[] getImage()
          Get a copy of the image.
 int getWidth()
          Get the width of the image in pixels (not twips).
 int prepareToEncode(Context context)
          Prepare an object for encoding, returning the expected size of an object when it is encoded.
 void setAlpha(byte[] bytes)
          Sets the alpha channel data with the zlib compressed data.
 void setIdentifier(int uid)
          Sets the unique identifier for an object within a given Movie.
 void setImage(byte[] bytes)
          Sets the image data.
 String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefineJPEGImage3

public DefineJPEGImage3(SWFDecoder coder)
                 throws IOException
Creates and initialises a DefineJPEGImage3 object using values encoded in the Flash binary format.

Parameters:
coder - an SWFDecoder object that contains the encoded Flash data.
Throws:
IOException - if an error occurs while decoding the data.

DefineJPEGImage3

public DefineJPEGImage3(int uid,
                        byte[] img,
                        byte[] transparency)
Creates a DefineJPEGImage3 object with the specified image data, and alpha channel data.

Parameters:
uid - the unique identifier for this object. Must be in the range 1..65535.
img - the JPEG encoded image data. Must not be null.
transparency - byte array containing the zlib compressed alpha channel data. Must not be null.

DefineJPEGImage3

public DefineJPEGImage3(DefineJPEGImage3 object)
Creates and initialises a DefineJPEGImage3 object using the values copied from another DefineJPEGImage3 object.

Parameters:
object - a DefineJPEGImage3 object from which the values will be copied.
Method Detail

getIdentifier

public int getIdentifier()
Get the unique identifier assigned to this object.

Specified by:
getIdentifier in interface DefineTag
Returns:
the unique identifier used by the Flash Player to reference this definition.

setIdentifier

public void setIdentifier(int uid)
Sets the unique identifier for an object within a given Movie.

Specified by:
setIdentifier in interface DefineTag
Parameters:
uid - a unique identifier for the object. Must be in the range 1..65535.

getWidth

public int getWidth()
Get the width of the image in pixels (not twips).

Specified by:
getWidth in interface ImageTag
Returns:
the width of the image.

getHeight

public int getHeight()
Get the height of the image in pixels (not twips).

Specified by:
getHeight in interface ImageTag
Returns:
the height of the image.

getImage

public byte[] getImage()
Get a copy of the image.

Returns:
a copy of the data.

getAlpha

public byte[] getAlpha()
Get a copy of the alpha channel.

Returns:
a copy of the data.

setImage

public void setImage(byte[] bytes)
Sets the image data.

Parameters:
bytes - a list of bytes containing the image table. Must not be null.

setAlpha

public void setAlpha(byte[] bytes)
Sets the alpha channel data with the zlib compressed data.

Parameters:
bytes - array of bytes containing zlib encoded alpha channel. Must not be null.

copy

public DefineJPEGImage3 copy()
Creates a complete copy of this object.

Specified by:
copy in interface Copyable<MovieTag>
Returns:
a deep-copy of this object. New instances of mutable objects are copied and immutable instances are shared.

toString

public String toString()

Overrides:
toString in class Object

prepareToEncode

public int prepareToEncode(Context context)
Prepare an object for encoding, returning the expected size of an object when it is encoded. This method also used to initialise variables, such as offsets and flags that will be used when the object is encoded. Generally the method returns the size in bytes, however when called on objects that use bit fields such as shapes the methods will return the size in bits.

Specified by:
prepareToEncode in interface SWFEncodeable
Parameters:
context - an Context that allows information to be passed between objects to control how they are initialised for encoding.
Returns:
the size of the object when it is encoded.

encode

public void encode(SWFEncoder coder,
                   Context context)
            throws IOException
Encode an object to the Flash binary format.

Specified by:
encode in interface SWFEncodeable
Parameters:
coder - an SWFEncoder object.
context - an Context that allows information to be passed between objects to control how they are initialised for encoding.
Throws:
IOException - if an error occurs while encoding the object.


Copyright © 2002-2010 Flagstone Software Ltd.. All Rights Reserved.