org.gnu.gdk

Class Pixbuf


public class Pixbuf
extends GObject

This class describes an image in memory.

Image data in a pixbuf is stored in memory in uncompressed, packed format. Rows in the image are stored top to bottom, and in each row pixels are stored from left to right. There may be padding at the end of a row. The "rowstride" value of a pixbuf, as returned by getRowstride(), indicates the number of bytes between rows.

Field Summary

Fields inherited from class org.gnu.glib.GObject

eventsInitialized

Constructor Summary

Pixbuf(String filename)
Construct a new Pixbuf from an image file.
Pixbuf(String filename, int width, int height, boolean preserveAspect)
Creates a new Pixbuf by loading an image from a file.
Pixbuf(byte[] data)
Create a new Pixbuf by parsing XPM data in memory.
Pixbuf(byte[] data, boolean copyPixels)
Create a new Pixbuf from a flat representation that is suitable for storing as inline data in a program.
Pixbuf(Colorspace colorSpace, boolean hasAlpha, int bitsPerSample, int width, int height)
Create a new Pixbuf object and allocate a buffer to it.
Pixbuf(Pixbuf srcPixbuf, int srcX, int srcY, int width, int height)
Create a new Pixbuf which represents a sub-region of another Pixbuf.
Pixbuf(Handle handle)
Constructs a Pixbuf from a handle to native resources.

Method Summary

Pixbuf
addAlpha(boolean substituteColor, int red, int green, int blue)
Adds alpha channel to this Pixbuf and returns the results.
Pixbuf
composite(int width, int height, InterpType type, int overallAlpha, int checkSize, int color1, int color2)
Creates a new Pixbuf by scaling this Pixbuf to the provided width and height and compositing the results with a checkboard of colors color1 and color2.
Pixbuf
composite(Pixbuf dest, int destX, int destY, int destWidth, int destHeight, double offsetX, double offsetY, double scaleX, double scaleY, InterpType type, int overallAlpha)
Creates a transformation of this image by scaling scaleX and scaleY then translating by offsetX and offsetY.
Pixbuf
composite(Pixbuf dest, int destX, int destY, int destWidth, int destHeight, double offsetX, double offsetY, double scaleX, double scaleY, InterpType type, int overallAlpha, int checkX, int checkY, int checkSize, int color1, int color2)
Creates a transformation of this image by scaling scaleX and scaleY then translating by offsetX and offsetY then composites the rectangle (destX, destY, destWidth, destHeight) of the resulting image with a checkboard of the colors color1 and color2 and renders it onto the destination image.
Pixbuf
copy()
Return a copy of this Pixbuf.
void
copyArea(int x, int y, int width, int height, Pixbuf dest, int destX, int destY)
Copies a rectangle area from this Pixbuf to the destination Pixbuf.
void
fill(int pixel)
Clears the Pixbuf to a given RGBA value, converting the RGBA value into the Pixbuf's pixel format.
Pixbuf
flip(boolean horizontal)
Flips a Pixbuf horizontally or vertically and returns the result in a new Pixbuf.
protected static Handle
gdk_pixbuf_add_alpha(Handle pixbuf, boolean substituteColor, int r, int g, int b)
protected static void
gdk_pixbuf_composite(Handle src, Handle dest, int destX, int destY, int destWidth, int destHeight, double offsetX, double offsetY, double scaleX, double scaleY, int interpType, int overallAlpha)
protected static void
gdk_pixbuf_composite_color(Handle src, Handle dest, int destX, int destY, int destWidth, int destHeight, double offsetX, double offsetY, double scaleX, double scaleY, int interpType, int overallAlpha, int checkX, int checkY, int checkSize, int color1, int color2)
protected static Handle
gdk_pixbuf_composite_color_simple(Handle src, int destWidth, int destHeight, int interpType, int overallAlpha, int checkSize, int color1, int color2)
protected static Handle
gdk_pixbuf_copy(Handle pixbuf)
protected static void
gdk_pixbuf_copy_area(Handle srcPixbuf, int srcX, int srcY, int width, int height, Handle destPixbuf, int destX, int destY)
protected static void
gdk_pixbuf_fill(Handle pixbuf, int pixel)
protected static Handle
gdk_pixbuf_flip(Handle pixbuf, boolean horizontal)
protected static int
gdk_pixbuf_get_bits_per_sample(Handle pixbuf)
protected static int
gdk_pixbuf_get_colorspace(Handle pixbuf)
protected static Handle
gdk_pixbuf_get_file_info(String filename, int[] width, int[] height)
protected static boolean
gdk_pixbuf_get_has_alpha(Handle pixbuf)
protected static int
gdk_pixbuf_get_height(Handle pixbuf)
protected static int
gdk_pixbuf_get_n_channels(Handle pixbuf)
protected static String
gdk_pixbuf_get_option(Handle pixbuf, String key)
protected static byte[]
gdk_pixbuf_get_pixels(Handle pixbuf)
protected static int
gdk_pixbuf_get_rowstride(Handle pixbuf)
protected static int
gdk_pixbuf_get_width(Handle pixbuf)
protected static Handle
gdk_pixbuf_new(int colorspace, boolean hasAlpha, int bitsPerSample, int width, int height)
protected static Handle
gdk_pixbuf_new_from_file(String filename, Handle error)
protected static Handle
gdk_pixbuf_new_from_file_at_scale(String filename, int width, int height, boolean preserveAspect, Handle error)
protected static Handle
gdk_pixbuf_new_from_file_at_size(String filename, int width, int height, Handle error)
protected static Handle
gdk_pixbuf_new_from_inline(int dataLength, byte[] data, boolean copyPixels, Handle error)
protected static Handle
gdk_pixbuf_new_from_xpm_data(byte[] data)
protected static Handle
gdk_pixbuf_new_subpixbuf(Handle srcPixbuf, int srcX, int srcY, int width, int height)
protected static Handle
gdk_pixbuf_rotate_simple(Handle pixbuf, int angle)
protected static void
gdk_pixbuf_saturate_and_pixelate(Handle src, Handle dest, double saturation, boolean pixelate)
protected static boolean
gdk_pixbuf_save_to_bufferv(Handle pixbuf, String buffer, String type, String[] optionKeys, String[] optionValues, Handle error)
protected static boolean
gdk_pixbuf_savev(Handle pixbuf, String filename, String type, String[] optionKeys, String[] optionValues, Handle error)
protected static void
gdk_pixbuf_scale(Handle src, Handle dest, int destX, int destY, int destWidth, int destHeight, double offsetX, double offsetY, double scaleX, double scaleY, int interpType)
protected static Handle
gdk_pixbuf_scale_simple(Handle src, int destWidth, int destHeight, int interpType)
int
getBitsPerSample()
Colorspace
getColorspace()
Returns the Colorspace for the Pixbuf.
static PixbufFormat
getFileInformation(String filename)
int
getNumChannels()
Returns the number of channels for the Pixbuf.
String
getOption(String key)
byte[]
getPixels()
Returns the pixel data for the Pixbuf
int
getRowstride()
Returns the rowstride which is the number of bytes between the start of a row and the start of the next row.
boolean
hasAlpha()
int
height()
Return the height of the pixbuf.
Pixbuf
rotate(PixbufRotation direction)
Rotate this pixbuf and return the results as a new Pixbuf.
Pixbuf
saturateAndPixelate(Pixbuf dest, double saturation, boolean pixelate)
Modifies saturation and optionally pixelates this Pixbuf placing the result in the destination Pixbuf.
void
save(String filename, String type, String[] optionKeys, String[] optionValues)
Saves a Pixbuf to a file in the format type provided.
byte[]
saveToBuffer(String type, String[] optionKeys, String[] optionValues)
Saves a Pixbuf to a buffer in the format type provided.
Pixbuf
scale(int width, int height, InterpType itype)
Create a new pixbuf from an existing pixbuf scaled to the size provided.
Pixbuf
scale(Pixbuf dest, int destX, int destY, int destWidth, int destHeight, double offsetX, double offsetY, double scaleX, double scaleY, InterpType type)
Creates a transformation of this Pixbuf by scaling scaleX and scaleY then translating by offsetX and offsetY, then renders the rectangle of the resulting image onto the destination image replacing the previous contents.
int
width()
Return the width of the pixbuf.

Methods inherited from class org.gnu.glib.GObject

addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, equals, freezeNotify, getBooleanProperty, getData, getData, getDoubleProperty, getEventListenerClass, getEventType, getFloatProperty, getGObjectFromHandle, getHandle, getIntFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getNullHandle, getPixbufProperty, getProperty, getStringFromHandle, getStringProperty, hasProperty, hashCode, instantiateJGObjectFromGType, notify, removeEventHandler, removeListener, retrieveGObject, setBooleanProperty, setData, setData, setDoubleProperty, setFloatProperty, setHandle, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify

Constructor Details

Pixbuf

public Pixbuf(String filename)
            throws FileNotFoundException,
                   JGException
Construct a new Pixbuf from an image file.

Parameters:
filename - The name of the image file.


Pixbuf

public Pixbuf(String filename,
              int width,
              int height,
              boolean preserveAspect)
            throws FileNotFoundException,
                   JGException
Creates a new Pixbuf by loading an image from a file. The file format is detected automatically. The image will be scaled to fit in the requested size, preserving the image's aspect ration if reserveAspect is set to true.

Parameters:
filename -
width -
height -
preserveAspect -

Throws:
JGException -


Pixbuf

public Pixbuf(byte[] data)
Create a new Pixbuf by parsing XPM data in memory.

Parameters:
data -


Pixbuf

public Pixbuf(byte[] data,
              boolean copyPixels)
            throws JGException
Create a new Pixbuf from a flat representation that is suitable for storing as inline data in a program. This is useful if you want to ship a program with images but don't want to depend on any external files.

Parameters:
data -
copyPixels -

Throws:
JGException -


Pixbuf

public Pixbuf(Colorspace colorSpace,
              boolean hasAlpha,
              int bitsPerSample,
              int width,
              int height)
Create a new Pixbuf object and allocate a buffer to it.

Parameters:
colorSpace -
hasAlpha -
bitsPerSample -
width -
height -


Pixbuf

public Pixbuf(Pixbuf srcPixbuf,
              int srcX,
              int srcY,
              int width,
              int height)
Create a new Pixbuf which represents a sub-region of another Pixbuf. The new Pixbuf shares its pixels with the original so writing to one affects both.

Parameters:
srcPixbuf -
srcX -
srcY -
width -
height -


Pixbuf

public Pixbuf(Handle handle)
Constructs a Pixbuf from a handle to native resources. This should only be used internally by java-gnome.

Method Details

addAlpha

public Pixbuf addAlpha(boolean substituteColor,
                       int red,
                       int green,
                       int blue)
Adds alpha channel to this Pixbuf and returns the results. If this Pixbuf already has an alpha channel, the channel values are copied into the newly created Pixbuf; otherwise the alpha channel is initialized to 255 (full opacity).

If substituteColor is true the color specified by (red, green, blue) will be assigned zero opacity. That is, if you pass (255, 255, 255) for the substitute color all white pixels will become fully transparent.

Parameters:
substituteColor -
red -
green -
blue -


composite

public Pixbuf composite(int width,
                        int height,
                        InterpType type,
                        int overallAlpha,
                        int checkSize,
                        int color1,
                        int color2)
Creates a new Pixbuf by scaling this Pixbuf to the provided width and height and compositing the results with a checkboard of colors color1 and color2.

Parameters:
width -
height -
type -
overallAlpha -
checkSize -
color1 -
color2 -


composite

public Pixbuf composite(Pixbuf dest,
                        int destX,
                        int destY,
                        int destWidth,
                        int destHeight,
                        double offsetX,
                        double offsetY,
                        double scaleX,
                        double scaleY,
                        InterpType type,
                        int overallAlpha)
Creates a transformation of this image by scaling scaleX and scaleY then translating by offsetX and offsetY. This gives an image in the coordinates of the destination pixbuf. The rectangle (destX, destY, destWidth, destHeight) is then composited onto the corresponding rectangle of the original destination image.

Parameters:
dest -
destX -
destY -
destWidth -
destHeight -
offsetX -
offsetY -
scaleX -
scaleY -
type -
overallAlpha -


composite

public Pixbuf composite(Pixbuf dest,
                        int destX,
                        int destY,
                        int destWidth,
                        int destHeight,
                        double offsetX,
                        double offsetY,
                        double scaleX,
                        double scaleY,
                        InterpType type,
                        int overallAlpha,
                        int checkX,
                        int checkY,
                        int checkSize,
                        int color1,
                        int color2)
Creates a transformation of this image by scaling scaleX and scaleY then translating by offsetX and offsetY then composites the rectangle (destX, destY, destWidth, destHeight) of the resulting image with a checkboard of the colors color1 and color2 and renders it onto the destination image.

Parameters:
dest -
destX -
destY -
destWidth -
destHeight -
offsetX -
offsetY -
scaleX -
scaleY -
type -
overallAlpha -
checkX -
checkY -
checkSize -
color1 -
color2 -


copy

public Pixbuf copy()
Return a copy of this Pixbuf.


copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     Pixbuf dest,
                     int destX,
                     int destY)
Copies a rectangle area from this Pixbuf to the destination Pixbuf. Conversion of Pixbuf formats is done automatically.

Parameters:
x -
y -
width -
height -
dest -
destX -
destY -


fill

public void fill(int pixel)
Clears the Pixbuf to a given RGBA value, converting the RGBA value into the Pixbuf's pixel format. The alpha will be ignored if the Pixbuf doesn't have an alpha channel.

Parameters:
pixel -


flip

public Pixbuf flip(boolean horizontal)
Flips a Pixbuf horizontally or vertically and returns the result in a new Pixbuf.

Parameters:
horizontal -


gdk_pixbuf_add_alpha

protected static final Handle gdk_pixbuf_add_alpha(Handle pixbuf,
                                                   boolean substituteColor,
                                                   int r,
                                                   int g,
                                                   int b)


gdk_pixbuf_composite

protected static final void gdk_pixbuf_composite(Handle src,
                                                 Handle dest,
                                                 int destX,
                                                 int destY,
                                                 int destWidth,
                                                 int destHeight,
                                                 double offsetX,
                                                 double offsetY,
                                                 double scaleX,
                                                 double scaleY,
                                                 int interpType,
                                                 int overallAlpha)


gdk_pixbuf_composite_color

protected static final void gdk_pixbuf_composite_color(Handle src,
                                                       Handle dest,
                                                       int destX,
                                                       int destY,
                                                       int destWidth,
                                                       int destHeight,
                                                       double offsetX,
                                                       double offsetY,
                                                       double scaleX,
                                                       double scaleY,
                                                       int interpType,
                                                       int overallAlpha,
                                                       int checkX,
                                                       int checkY,
                                                       int checkSize,
                                                       int color1,
                                                       int color2)


gdk_pixbuf_composite_color_simple

protected static final Handle gdk_pixbuf_composite_color_simple(Handle src,
                                                                int destWidth,
                                                                int destHeight,
                                                                int interpType,
                                                                int overallAlpha,
                                                                int checkSize,
                                                                int color1,
                                                                int color2)


gdk_pixbuf_copy

protected static final Handle gdk_pixbuf_copy(Handle pixbuf)


gdk_pixbuf_copy_area

protected static final void gdk_pixbuf_copy_area(Handle srcPixbuf,
                                                 int srcX,
                                                 int srcY,
                                                 int width,
                                                 int height,
                                                 Handle destPixbuf,
                                                 int destX,
                                                 int destY)


gdk_pixbuf_fill

protected static final void gdk_pixbuf_fill(Handle pixbuf,
                                            int pixel)


gdk_pixbuf_flip

protected static final Handle gdk_pixbuf_flip(Handle pixbuf,
                                              boolean horizontal)


gdk_pixbuf_get_bits_per_sample

protected static final int gdk_pixbuf_get_bits_per_sample(Handle pixbuf)


gdk_pixbuf_get_colorspace

protected static final int gdk_pixbuf_get_colorspace(Handle pixbuf)


gdk_pixbuf_get_file_info

protected static final Handle gdk_pixbuf_get_file_info(String filename,
                                                       int[] width,
                                                       int[] height)


gdk_pixbuf_get_has_alpha

protected static final boolean gdk_pixbuf_get_has_alpha(Handle pixbuf)


gdk_pixbuf_get_height

protected static final int gdk_pixbuf_get_height(Handle pixbuf)


gdk_pixbuf_get_n_channels

protected static final int gdk_pixbuf_get_n_channels(Handle pixbuf)


gdk_pixbuf_get_option

protected static final String gdk_pixbuf_get_option(Handle pixbuf,
                                                    String key)


gdk_pixbuf_get_pixels

protected static final byte[] gdk_pixbuf_get_pixels(Handle pixbuf)


gdk_pixbuf_get_rowstride

protected static final int gdk_pixbuf_get_rowstride(Handle pixbuf)


gdk_pixbuf_get_width

protected static final int gdk_pixbuf_get_width(Handle pixbuf)


gdk_pixbuf_new

protected static final Handle gdk_pixbuf_new(int colorspace,
                                             boolean hasAlpha,
                                             int bitsPerSample,
                                             int width,
                                             int height)


gdk_pixbuf_new_from_file

protected static final Handle gdk_pixbuf_new_from_file(String filename,
                                                       Handle error)


gdk_pixbuf_new_from_file_at_scale

protected static final Handle gdk_pixbuf_new_from_file_at_scale(String filename,
                                                                int width,
                                                                int height,
                                                                boolean preserveAspect,
                                                                Handle error)


gdk_pixbuf_new_from_file_at_size

protected static final Handle gdk_pixbuf_new_from_file_at_size(String filename,
                                                               int width,
                                                               int height,
                                                               Handle error)


gdk_pixbuf_new_from_inline

protected static final Handle gdk_pixbuf_new_from_inline(int dataLength,
                                                         byte[] data,
                                                         boolean copyPixels,
                                                         Handle error)


gdk_pixbuf_new_from_xpm_data

protected static final Handle gdk_pixbuf_new_from_xpm_data(byte[] data)


gdk_pixbuf_new_subpixbuf

protected static final Handle gdk_pixbuf_new_subpixbuf(Handle srcPixbuf,
                                                       int srcX,
                                                       int srcY,
                                                       int width,
                                                       int height)


gdk_pixbuf_rotate_simple

protected static final Handle gdk_pixbuf_rotate_simple(Handle pixbuf,
                                                       int angle)


gdk_pixbuf_saturate_and_pixelate

protected static final void gdk_pixbuf_saturate_and_pixelate(Handle src,
                                                             Handle dest,
                                                             double saturation,
                                                             boolean pixelate)


gdk_pixbuf_save_to_bufferv

protected static final boolean gdk_pixbuf_save_to_bufferv(Handle pixbuf,
                                                          String buffer,
                                                          String type,
                                                          String[] optionKeys,
                                                          String[] optionValues,
                                                          Handle error)


gdk_pixbuf_savev

protected static final boolean gdk_pixbuf_savev(Handle pixbuf,
                                                String filename,
                                                String type,
                                                String[] optionKeys,
                                                String[] optionValues,
                                                Handle error)


gdk_pixbuf_scale

protected static final void gdk_pixbuf_scale(Handle src,
                                             Handle dest,
                                             int destX,
                                             int destY,
                                             int destWidth,
                                             int destHeight,
                                             double offsetX,
                                             double offsetY,
                                             double scaleX,
                                             double scaleY,
                                             int interpType)


gdk_pixbuf_scale_simple

protected static final Handle gdk_pixbuf_scale_simple(Handle src,
                                                      int destWidth,
                                                      int destHeight,
                                                      int interpType)


getBitsPerSample

public int getBitsPerSample()


getColorspace

public Colorspace getColorspace()
Returns the Colorspace for the Pixbuf.


getFileInformation

public static PixbufFormat getFileInformation(String filename)


getNumChannels

public int getNumChannels()
Returns the number of channels for the Pixbuf.


getOption

public String getOption(String key)


getPixels

public byte[] getPixels()
Returns the pixel data for the Pixbuf


getRowstride

public int getRowstride()
Returns the rowstride which is the number of bytes between the start of a row and the start of the next row.


hasAlpha

public boolean hasAlpha()


height

public int height()
Return the height of the pixbuf.

Returns:
The height


rotate

public Pixbuf rotate(PixbufRotation direction)
Rotate this pixbuf and return the results as a new Pixbuf.

Parameters:
direction -


saturateAndPixelate

public Pixbuf saturateAndPixelate(Pixbuf dest,
                                  double saturation,
                                  boolean pixelate)
Modifies saturation and optionally pixelates this Pixbuf placing the result in the destination Pixbuf. The Pixbufs may be the same Pixbuf with no ill effects. If saturation is 1.0 then saturation is not changed. If it's less than 1.0, saturation is reduced (the image is darkened); if greater than 1.0, saturation is increased (the image is brightened). If pixelate is true, then pixels are faded in a checkerboard pattern to create a pixelated image. The Pixbufs must have the same image format, size, and rowstride.

Parameters:
dest -
saturation -
pixelate -


save

public void save(String filename,
                 String type,
                 String[] optionKeys,
                 String[] optionValues)
            throws JGException
Saves a Pixbuf to a file in the format type provided. By default the only supported formats are "jpeg", "png", or "ico".

Parameters:
filename -
type -
optionKeys -
optionValues -

Throws:
JGException -


saveToBuffer

public byte[] saveToBuffer(String type,
                           String[] optionKeys,
                           String[] optionValues)
            throws JGException
Saves a Pixbuf to a buffer in the format type provided. The only supported formats are "jpeg", "png", or "ico". The possible errors contained in the JGException are those described in PixbufError.

Parameters:
type -
optionKeys -
optionValues -

Throws:
JGException -


scale

public Pixbuf scale(int width,
                    int height,
                    InterpType itype)
Create a new pixbuf from an existing pixbuf scaled to the size provided.


scale

public Pixbuf scale(Pixbuf dest,
                    int destX,
                    int destY,
                    int destWidth,
                    int destHeight,
                    double offsetX,
                    double offsetY,
                    double scaleX,
                    double scaleY,
                    InterpType type)
Creates a transformation of this Pixbuf by scaling scaleX and scaleY then translating by offsetX and offsetY, then renders the rectangle of the resulting image onto the destination image replacing the previous contents.

Parameters:
dest -
destX -
destY -
destWidth -
destHeight -
offsetX -
offsetY -
scaleX -
scaleY -
type -


width

public int width()
Return the width of the pixbuf.

Returns:
The width