The gdk-pixbuf Library | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
#include <gdk-pixbuf/gdk-pixbuf.h> enum GdkPixbufAlphaMode; void gdk_pixbuf_render_to_drawable_alpha (GdkPixbuf *pixbuf, |
The gdk-pixbuf library provides several convenience functions to render pixbufs to GDK drawables. It uses the GdkRGB to render the image data.
At this point there is not a standard alpha channel extension for the X Window System, so it is not possible to use full opacity information when painting images to arbitrary drawables. The gdk-pixbuf convenience functions will threshold the opacity information to create a bi-level clipping mask (black and white), and use that to draw the image onto a drawable.
Important: Since these functions use GdkRGB for rendering, you must initialize GdkRGB before using any of them. You can do this by calling
gdk_rgb_init () near the beginning of your program.
typedef enum { GDK_PIXBUF_ALPHA_BILEVEL, GDK_PIXBUF_ALPHA_FULL } GdkPixbufAlphaMode; |
These values can be passed to gdk_pixbuf_render_to_drawable_alpha() to control how the alpha chanel of an image should be handled. This function can create a bilevel clipping mask (black and white) and use it while painting the image. In the future, when the X Window System gets an alpha channel extension, it will be possible to do full alpha compositing onto arbitrary drawables. For now both cases fall back to a bilevel clipping mask.
GDK_PIXBUF_ALPHA_BILEVEL | A bilevel clipping mask (black and white) will be created and used to draw the image. Pixels below 0.5 opacity will be considered fully transparent, and all others will be considered fully opaque. |
GDK_PIXBUF_ALPHA_FULL | For now falls back to |
void gdk_pixbuf_render_to_drawable_alpha (GdkPixbuf *pixbuf, |
pixbuf : | |
drawable : | |
src_x : | |
src_y : | |
dest_x : | |
dest_y : | |
width : | |
height : | |
alpha_mode : | |
alpha_threshold : | |
dither : | |
x_dither : | |
y_dither : |
void gdk_pixbuf_render_to_drawable (GdkPixbuf *pixbuf, |
pixbuf : | |
drawable : | |
gc : | |
src_x : | |
src_y : | |
dest_x : | |
dest_y : | |
width : | |
height : | |
dither : | |
x_dither : | |
y_dither : |
void gdk_pixbuf_render_threshold_alpha (GdkPixbuf *pixbuf, |
pixbuf : | |
bitmap : | |
src_x : | |
src_y : | |
dest_x : | |
dest_y : | |
width : | |
height : | |
alpha_threshold : |
void gdk_pixbuf_render_pixmap_and_mask (GdkPixbuf *pixbuf, |
pixbuf : | |
pixmap_return : | |
mask_return : | |
alpha_threshold : |