GDK 2 Reference Manual | ||||
---|---|---|---|---|
Top | Description |
#include <gdk/gdk.h> GdkImage; GdkImage * gdk_image_new (GdkImageType type
,GdkVisual *visual
,gint width
,gint height
); enum GdkImageType; GdkImage * gdk_image_new_bitmap (GdkVisual *visual
,gpointer data
,gint width
,gint height
); GdkImage * gdk_image_get (GdkDrawable *drawable
,gint x
,gint y
,gint width
,gint height
); GdkImage * gdk_image_ref (GdkImage *image
); void gdk_image_unref (GdkImage *image
); #define gdk_image_destroy GdkColormap * gdk_image_get_colormap (GdkImage *image
); void gdk_image_set_colormap (GdkImage *image
,GdkColormap *colormap
); guint16 gdk_image_get_bits_per_pixel (GdkImage *image
); guint16 gdk_image_get_bytes_per_pixel (GdkImage *image
); guint16 gdk_image_get_bytes_per_line (GdkImage *image
); GdkByteOrder gdk_image_get_byte_order (GdkImage *image
); guint16 gdk_image_get_depth (GdkImage *image
); gint gdk_image_get_height (GdkImage *image
); GdkImageType gdk_image_get_image_type (GdkImage *image
); GdkVisual * gdk_image_get_visual (GdkImage *image
); gint gdk_image_get_width (GdkImage *image
); gpointer gdk_image_get_pixels (GdkImage *image
); void gdk_image_put_pixel (GdkImage *image
,gint x
,gint y
,guint32 pixel
); guint32 gdk_image_get_pixel (GdkImage *image
,gint x
,gint y
);
The GdkImage type represents an area for drawing graphics. It has now been superceded to a large extent by the much more flexible GdkRGB functions.
To create an empty GdkImage use gdk_image_new()
.
To create a GdkImage from bitmap data use gdk_image_new_bitmap()
.
To create an image from part of a GdkWindow use gdk_drawable_get_image()
.
The image can be manipulated with gdk_image_get_pixel()
and
gdk_image_put_pixel()
, or alternatively by changing the actual pixel data.
Though manipulating the pixel data requires complicated code to cope with
the different formats that may be used.
To draw a GdkImage in a GdkWindow or GdkPixmap use gdk_draw_image()
.
To destroy a GdkImage use gdk_image_destroy()
.
typedef struct { GObject parent_instance; GdkImageType GSEAL (type); /* read only. */ GdkVisual *GSEAL (visual); /* read only. visual used to create the image */ GdkByteOrder GSEAL (byte_order); /* read only. */ gint GSEAL (width); /* read only. */ gint GSEAL (height); /* read only. */ guint16 GSEAL (depth); /* read only. */ guint16 GSEAL (bpp); /* read only. bytes per pixel */ guint16 GSEAL (bpl); /* read only. bytes per line */ guint16 GSEAL (bits_per_pixel); /* read only. bits per pixel */ gpointer GSEAL (mem); GdkColormap *GSEAL (colormap); /* read only. */ } GdkImage;
The GdkImage struct contains information on the image and the pixel data.
GObject |
the parent instance |
GdkImage * gdk_image_new (GdkImageType type
,GdkVisual *visual
,gint width
,gint height
);
gdk_image_new
is deprecated and should not be used in newly-written code.
Creates a new GdkImage.
|
the type of the GdkImage, one of GDK_IMAGE_NORMAL , GDK_IMAGE_SHARED
and GDK_IMAGE_FASTEST . GDK_IMAGE_FASTEST is probably the best choice, since
it will try creating a GDK_IMAGE_SHARED image first and if that fails it will
then use GDK_IMAGE_NORMAL . |
|
the GdkVisual to use for the image. |
|
the width of the image in pixels. |
|
the height of the image in pixels. |
Returns : |
a new GdkImage, or NULL if the image could not be created. |
typedef enum { GDK_IMAGE_NORMAL, GDK_IMAGE_SHARED, GDK_IMAGE_FASTEST } GdkImageType;
Specifies the type of a GdkImage.
The original X image type, which is quite slow since the image has to be transferred from the client to the server to display it. | |
A faster image type, which uses shared memory to transfer the image data between client and server. However this will only be available if client and server are on the same machine and the shared memory extension is supported by the server. | |
Specifies that GDK_IMAGE_SHARED should be tried first,
and if that fails then GDK_IMAGE_NORMAL will be used.
|
GdkImage * gdk_image_new_bitmap (GdkVisual *visual
,gpointer data
,gint width
,gint height
);
gdk_image_new_bitmap
is deprecated and should not be used in newly-written code.
Creates a new GdkImage with a depth of 1 from the given data.
THIS FUNCTION IS INCREDIBLY BROKEN. The passed-in data must
be allocated by malloc()
(NOT g_malloc()
) and will be freed when the
image is freed.
GdkImage * gdk_image_get (GdkDrawable *drawable
,gint x
,gint y
,gint width
,gint height
);
gdk_image_get
is deprecated and should not be used in newly-written code.
This is a deprecated wrapper for gdk_drawable_get_image()
;
gdk_drawable_get_image()
should be used instead. Or even better: in
most cases gdk_pixbuf_get_from_drawable()
is the most convenient
choice.
|
a GdkDrawable |
|
x coordinate in window
|
|
y coordinate in window
|
|
width of area in window
|
|
height of area in window
|
Returns : |
a new GdkImage or NULL
|
GdkImage * gdk_image_ref (GdkImage *image
);
gdk_image_ref
has been deprecated since version 2.0 and should not be used in newly-written code. Use g_object_ref()
instead.
Deprecated function; use g_object_ref()
instead.
|
a GdkImage |
Returns : |
the image |
void gdk_image_unref (GdkImage *image
);
gdk_image_unref
has been deprecated since version 2.0 and should not be used in newly-written code. Use g_object_unref()
instead.
Deprecated function; use g_object_unref()
instead.
|
a GdkImage |
#define gdk_image_destroy g_object_unref
gdk_image_destroy
is deprecated and should not be used in newly-written code.
Destroys a GdkImage, freeing any resources allocated for it.
GdkColormap * gdk_image_get_colormap (GdkImage *image
);
gdk_image_get_colormap
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Retrieves the colormap for a given image, if it exists. An image
will have a colormap if the drawable from which it was created has
a colormap, or if a colormap was set explicitely with
gdk_image_set_colormap()
.
|
a GdkImage |
Returns : |
colormap for the image |
void gdk_image_set_colormap (GdkImage *image
,GdkColormap *colormap
);
gdk_image_set_colormap
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Sets the colormap for the image to the given colormap. Normally there's no need to use this function, images are created with the correct colormap if you get the image from a drawable. If you create the image from scratch, use the colormap of the drawable you intend to render the image to.
|
a GdkImage |
|
a GdkColormap |
guint16 gdk_image_get_bits_per_pixel (GdkImage *image
);
gdk_image_get_bits_per_pixel
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the number of bits per pixel of the image.
|
a GdkImage |
Returns : |
the bits per pixel |
Since 2.22
guint16 gdk_image_get_bytes_per_pixel (GdkImage *image
);
gdk_image_get_bytes_per_pixel
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the number of bytes per pixel of the image.
|
a GdkImage |
Returns : |
the bytes per pixel |
Since 2.22
guint16 gdk_image_get_bytes_per_line (GdkImage *image
);
gdk_image_get_bytes_per_line
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the number of bytes per line of the image.
|
a GdkImage |
Returns : |
the bytes per line |
Since 2.22
GdkByteOrder gdk_image_get_byte_order (GdkImage *image
);
gdk_image_get_byte_order
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the byte order of the image.
Since 2.22
guint16 gdk_image_get_depth (GdkImage *image
);
gdk_image_get_depth
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the depth of the image.
|
a GdkImage |
Returns : |
the depth |
Since 2.22
gint gdk_image_get_height (GdkImage *image
);
gdk_image_get_height
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the height of the image.
|
a GdkImage |
Returns : |
the height |
Since 2.22
GdkImageType gdk_image_get_image_type (GdkImage *image
);
gdk_image_get_image_type
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the type of a given image.
|
a GdkImage |
Returns : |
the GdkImageType of the image |
Since 2.22
GdkVisual * gdk_image_get_visual (GdkImage *image
);
gdk_image_get_visual
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the visual that was used to create the image.
Since 2.22
gint gdk_image_get_width (GdkImage *image
);
gdk_image_get_width
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Determines the width of the image.
|
a GdkImage |
Returns : |
the width |
Since 2.22
gpointer gdk_image_get_pixels (GdkImage *image
);
gdk_image_get_pixels
has been deprecated since version 2.22 and should not be used in newly-written code. GdkImage should not be used anymore.
Returns a pointer to the pixel data of the image.
|
a GdkImage |
Returns : |
the pixel data of the image |
Since 2.22
void gdk_image_put_pixel (GdkImage *image
,gint x
,gint y
,guint32 pixel
);
gdk_image_put_pixel
is deprecated and should not be used in newly-written code.
Sets a pixel in a GdkImage to a given pixel value.
|
a GdkImage. |
|
the x coordinate of the pixel to set. |
|
the y coordinate of the pixel to set. |
|
the pixel value to set. |
guint32 gdk_image_get_pixel (GdkImage *image
,gint x
,gint y
);
gdk_image_get_pixel
is deprecated and should not be used in newly-written code.
Gets a pixel value at a specified position in a GdkImage.
|
a GdkImage. |
|
the x coordinate of the pixel to get. |
|
the y coordinate of the pixel to get. |
Returns : |
the pixel value at the given position. |
Graphics which are stored on the X Windows server. Since these are stored on the server they can be drawn very quickly, and all of the Drawing Primitives can be used to draw on them. Their main disadvantage is that manipulating individual pixels can be very slow. |
|
Built on top of GdkImage, this provides much more functionality, including the dithering of colors to produce better output on low-color displays. |