![]() |
![]() |
![]() |
Cairo: A Vector Graphics Library | ![]() |
---|---|---|---|---|
enum cairo_format_t; cairo_surface_t* cairo_image_surface_create (cairo_format_t format, int width, int height); cairo_surface_t* cairo_image_surface_create_for_data (unsigned char *data, cairo_format_t format, int width, int height, int stride); unsigned char* cairo_image_surface_get_data (cairo_surface_t *surface); cairo_format_t cairo_image_surface_get_format (cairo_surface_t *surface); int cairo_image_surface_get_width (cairo_surface_t *surface); int cairo_image_surface_get_height (cairo_surface_t *surface); int cairo_image_surface_get_stride (cairo_surface_t *surface);
Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. The supported image formats are those defined in cairo_format_t.
typedef enum _cairo_format { CAIRO_FORMAT_ARGB32, CAIRO_FORMAT_RGB24, CAIRO_FORMAT_A8, CAIRO_FORMAT_A1, CAIRO_FORMAT_RGB16_565 } cairo_format_t;
cairo_format_t is used to identify the memory format of image data.
cairo_surface_t* cairo_image_surface_create (cairo_format_t format, int width, int height);
cairo_surface_t* cairo_image_surface_create_for_data (unsigned char *data, cairo_format_t format, int width, int height, int stride);
unsigned char* cairo_image_surface_get_data (cairo_surface_t *surface);
Since 1.2
cairo_format_t cairo_image_surface_get_format (cairo_surface_t *surface);
Since 1.2
int cairo_image_surface_get_stride (cairo_surface_t *surface);
Since 1.2