| The gdk-pixbuf Library | ||||
|---|---|---|---|---|
#include <gdk-pixbuf/gdk-pixbuf.h>gboolean gdk_pixbuf_savev (GdkPixbuf *pixbuf, constchar *filename, constchar *type,char **option_keys,char **option_values,GError **error);gboolean gdk_pixbuf_save (GdkPixbuf *pixbuf, constchar *filename, constchar *type,GError **error, ...);gboolean (*GdkPixbufSaveFunc) (constgchar *buf,gsize count,GError **error,gpointer data);gboolean gdk_pixbuf_save_to_callback (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func,gpointer user_data, constchar *type,GError **error, ...);gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func,gpointer user_data, constchar *type,char **option_keys,char **option_values,GError **error);gboolean gdk_pixbuf_save_to_buffer (GdkPixbuf *pixbuf,gchar **buffer,gsize *buffer_size, constchar *type,GError **error, ...);gboolean gdk_pixbuf_save_to_bufferv (GdkPixbuf *pixbuf,gchar **buffer,gsize *buffer_size, constchar *type,char **option_keys,char **option_values,GError **error);
These functions allow to save a GdkPixbuf in a number of file formats. The formatted data can be written to a file or to a memory buffer. gdk-pixbuf can also call a user-defined callback on the data, which allows to e.g. write the image to a socket or store it in a database.
gboolean gdk_pixbuf_savev (GdkPixbuf *pixbuf, constchar *filename, constchar *type,char **option_keys,char **option_values,GError **error);
Saves pixbuf to a file in type, which is currently "jpeg", "png", "tiff", "ico" or "bmp".
If error is set, FALSEgdk_pixbuf_save() for more details.
pixbuf : |
a GdkPixbuf. |
filename : |
name of file to save. |
type : |
name of file format. |
option_keys : |
name of options to set, NULL |
option_values : |
values for named options |
error : |
return location for error, or NULL |
| Returns : | whether an error was set |
gboolean gdk_pixbuf_save (GdkPixbuf *pixbuf, constchar *filename, constchar *type,GError **error, ...);
Saves pixbuf to a file in format type. By default, "jpeg", "png", "ico"
and "bmp" are possible file formats to save in, but more formats may be
installed. The list of all writable formats can be determined in the
following way:
void add_if_writable (GdkPixbufFormat *data, GSList **list)
{
if (gdk_pixbuf_format_is_writable (data))
*list = g_slist_prepend (*list, data);
}
GSList *formats = gdk_pixbuf_get_formats ();
GSList *writable_formats = NULL;
g_slist_foreach (formats, add_if_writable, &writable_formats);
g_slist_free (formats);
If error is set, FALSE
The variable argument list should be NULL
gdk_pixbuf_save (pixbuf, handle, "jpeg", &error,
"quality", "100", NULL);
Currently only few parameters exist. JPEG images can be saved with a "quality" parameter; its value should be in the range [0,100].
Text chunks can be attached to PNG images by specifying parameters of the form "tEXt::key", where key is an ASCII string of length 1-79. The values are UTF-8 encoded strings. The PNG compression level can be specified using the "compression" parameter; it's value is in an integer in the range of [0,9].
ICO images can be saved in depth 16, 24, or 32, by using the "depth" parameter. When the ICO saver is given "x_hot" and "y_hot" parameters, it produces a CUR instead of an ICO.
pixbuf : |
a GdkPixbuf. |
filename : |
name of file to save. |
type : |
name of file format. |
error : |
return location for error, or NULL |
... : |
list of key-value save options |
| Returns : | whether an error was set |
gboolean (*GdkPixbufSaveFunc) (constgchar *buf,gsize count,GError **error,gpointer data);
Specifies the type of the function passed to
gdk_pixbuf_save_to_callback(). It is called once for each block of
bytes that is "written" by gdk_pixbuf_save_to_callback(). If
successful it should return TRUEerror and return FALSEgdk_pixbuf_save_to_callback()
will fail with the same error.
buf : |
bytes to be written. |
count : |
number of bytes in buf.
|
error : |
A location to return an error. |
data : |
user data passed to gdk_pixbuf_save_to_callback().
|
| Returns : |
TRUEFALSEerror set) if failed.
|
Since 2.4
gboolean gdk_pixbuf_save_to_callback (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func,gpointer user_data, constchar *type,GError **error, ...);
Saves pixbuf in format type by feeding the produced data to a
callback. Can be used when you want to store the image to something
other than a file, such as an in-memory buffer or a socket.
If error is set, FALSE
See gdk_pixbuf_save() for more details.
pixbuf : |
a GdkPixbuf. |
save_func : |
a function that is called to save each block of data that the save routine generates. |
user_data : |
user data to pass to the save function. |
type : |
name of file format. |
error : |
return location for error, or NULL |
... : |
list of key-value save options |
| Returns : | whether an error was set |
Since 2.4
gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func,gpointer user_data, constchar *type,char **option_keys,char **option_values,GError **error);
Saves pixbuf to a callback in format type, which is currently "jpeg",
"png", "tiff", "ico" or "bmp". If error is set, FALSEgdk_pixbuf_save_to_callback() for more details.
pixbuf : |
a GdkPixbuf. |
save_func : |
a function that is called to save each block of data that the save routine generates. |
user_data : |
user data to pass to the save function. |
type : |
name of file format. |
option_keys : |
name of options to set, NULL |
option_values : |
values for named options |
error : |
return location for error, or NULL |
| Returns : | whether an error was set |
Since 2.4
gboolean gdk_pixbuf_save_to_buffer (GdkPixbuf *pixbuf,gchar **buffer,gsize *buffer_size, constchar *type,GError **error, ...);
Saves pixbuf to a new buffer in format type, which is currently "jpeg",
"png", "tiff", "ico" or "bmp". This is a convenience function that uses
gdk_pixbuf_save_to_callback() to do the real work. Note that the buffer
is not nul-terminated and may contain embedded nuls.
If error is set, FALSEstring will be set to
NULL
See gdk_pixbuf_save() for more details.
pixbuf : |
a GdkPixbuf. |
buffer : |
location to receive a pointer to the new buffer. |
buffer_size : |
location to receive the size of the new buffer. |
type : |
name of file format. |
error : |
return location for error, or NULL |
... : |
list of key-value save options |
| Returns : | whether an error was set |
Since 2.4
gboolean gdk_pixbuf_save_to_bufferv (GdkPixbuf *pixbuf,gchar **buffer,gsize *buffer_size, constchar *type,char **option_keys,char **option_values,GError **error);
Saves pixbuf to a new buffer in format type, which is currently "jpeg",
"tiff", "png", "ico" or "bmp". See gdk_pixbuf_save_to_buffer() for more details.
pixbuf : |
a GdkPixbuf. |
buffer : |
location to receive a pointer to the new buffer. |
buffer_size : |
location to receive the size of the new buffer. |
type : |
name of file format. |
option_keys : |
name of options to set, NULL |
option_values : |
values for named options |
error : |
return location for error, or NULL |
| Returns : | whether an error was set |
Since 2.4