Rendering SVGs with GdkPixbuf

Rendering SVGs with GdkPixbuf —

How to render SVGs into GdkPixbufs, for easy use in GTK+ applications

Synopsis




GdkPixbuf*  rsvg_handle_get_pixbuf          (RsvgHandle *handle);
GdkPixbuf*  rsvg_handle_get_pixbuf_sub      (RsvgHandle *handle,
                                             const char *id);
GdkPixbuf*  rsvg_pixbuf_from_file           (const gchar *file_name,
                                             GError **error);
GdkPixbuf*  rsvg_pixbuf_from_file_at_zoom   (const gchar *file_name,
                                             double x_zoom,
                                             double y_zoom,
                                             GError **error);
GdkPixbuf*  rsvg_pixbuf_from_file_at_size   (const gchar *file_name,
                                             gint width,
                                             gint height,
                                             GError **error);
GdkPixbuf*  rsvg_pixbuf_from_file_at_max_size
                                            (const gchar *file_name,
                                             gint max_width,
                                             gint max_height,
                                             GError **error);
GdkPixbuf*  rsvg_pixbuf_from_file_at_zoom_with_max
                                            (const gchar *file_name,
                                             double x_zoom,
                                             double y_zoom,
                                             gint max_width,
                                             gint max_height,
                                             GError **error);

Description

GdkPixbuf is a library for image loading and manipulation. It is part of the cross-platform GTK+ widget toolkit.

Details

rsvg_handle_get_pixbuf ()

GdkPixbuf*  rsvg_handle_get_pixbuf          (RsvgHandle *handle);

Returns the pixbuf loaded by handle. The pixbuf returned will be reffed, so the caller of this function must assume that ref. If insufficient data has been read to create the pixbuf, or an error occurred in loading, then NULL will be returned. Note that the pixbuf may not be complete until rsvg_handle_close has been called.

handle : An RsvgHandle
Returns : the pixbuf loaded by handle, or NULL.

rsvg_handle_get_pixbuf_sub ()

GdkPixbuf*  rsvg_handle_get_pixbuf_sub      (RsvgHandle *handle,
                                             const char *id);

Returns the pixbuf loaded by handle. The pixbuf returned will be reffed, so the caller of this function must assume that ref. If insufficient data has been read to create the pixbuf, or an error occurred in loading, then NULL will be returned. Note that the pixbuf may not be complete until rsvg_handle_close has been called.

handle : An RsvgHandle
id : The id of an element inside the SVG, or NULL to render the whole SVG
Returns : the pixbuf loaded by handle, or NULL.

Since 2.14


rsvg_pixbuf_from_file ()

GdkPixbuf*  rsvg_pixbuf_from_file           (const gchar *file_name,
                                             GError **error);

Warning

rsvg_pixbuf_from_file is deprecated and should not be used in newly-written code. Set up a cairo matrix and use rsvg_handle_new_from_file() + rsvg_handle_render_cairo() instead.

Loads a new GdkPixbuf from file_name and returns it. The caller must assume the reference to the reurned pixbuf. If an error occurred, error is set and NULL is returned.

file_name : A file name
error : return location for errors
Returns : A newly allocated GdkPixbuf, or NULL

rsvg_pixbuf_from_file_at_zoom ()

GdkPixbuf*  rsvg_pixbuf_from_file_at_zoom   (const gchar *file_name,
                                             double x_zoom,
                                             double y_zoom,
                                             GError **error);

Warning

rsvg_pixbuf_from_file_at_zoom is deprecated and should not be used in newly-written code. Set up a cairo matrix and use rsvg_handle_new_from_file() + rsvg_handle_render_cairo() instead.

Loads a new GdkPixbuf from file_name and returns it. This pixbuf is scaled from the size indicated by the file by a factor of x_zoom and y_zoom. The caller must assume the reference to the returned pixbuf. If an error occurred, error is set and NULL is returned.

file_name : A file name
x_zoom : The horizontal zoom factor
y_zoom : The vertical zoom factor
error : return location for errors
Returns : A newly allocated GdkPixbuf, or NULL

rsvg_pixbuf_from_file_at_size ()

GdkPixbuf*  rsvg_pixbuf_from_file_at_size   (const gchar *file_name,
                                             gint width,
                                             gint height,
                                             GError **error);

Warning

rsvg_pixbuf_from_file_at_size is deprecated and should not be used in newly-written code. Set up a cairo matrix and use rsvg_handle_new_from_file() + rsvg_handle_render_cairo() instead.

Loads a new GdkPixbuf from file_name and returns it. This pixbuf is scaled from the size indicated to the new size indicated by width and height. If either of these are -1, then the default size of the image being loaded is used. The caller must assume the reference to the returned pixbuf. If an error occurred, error is set and NULL is returned.

file_name : A file name
width : The new width, or -1
height : The new height, or -1
error : return location for errors
Returns : A newly allocated GdkPixbuf, or NULL

rsvg_pixbuf_from_file_at_max_size ()

GdkPixbuf*  rsvg_pixbuf_from_file_at_max_size
                                            (const gchar *file_name,
                                             gint max_width,
                                             gint max_height,
                                             GError **error);

Warning

rsvg_pixbuf_from_file_at_max_size is deprecated and should not be used in newly-written code. Set up a cairo matrix and use rsvg_handle_new_from_file() + rsvg_handle_render_cairo() instead.

Loads a new GdkPixbuf from file_name and returns it. This pixbuf is uniformly scaled so that the it fits into a rectangle of size max_width * max_height. The caller must assume the reference to the returned pixbuf. If an error occurred, error is set and NULL is returned.

file_name : A file name
max_width : The requested max width
max_height : The requested max heigh
error : return location for errors
Returns : A newly allocated GdkPixbuf, or NULL

rsvg_pixbuf_from_file_at_zoom_with_max ()

GdkPixbuf*  rsvg_pixbuf_from_file_at_zoom_with_max
                                            (const gchar *file_name,
                                             double x_zoom,
                                             double y_zoom,
                                             gint max_width,
                                             gint max_height,
                                             GError **error);

Warning

rsvg_pixbuf_from_file_at_zoom_with_max is deprecated and should not be used in newly-written code. Set up a cairo matrix and use rsvg_handle_new_from_file() + rsvg_handle_render_cairo() instead.

Loads a new GdkPixbuf from file_name and returns it. This pixbuf is scaled from the size indicated by the file by a factor of x_zoom and y_zoom. If the resulting pixbuf would be larger than max_width/max_heigh it is uniformly scaled down to fit in that rectangle. The caller must assume the reference to the returned pixbuf. If an error occurred, error is set and NULL is returned.

file_name : A file name
x_zoom : The horizontal zoom factor
y_zoom : The vertical zoom factor
max_width : The requested max width
max_height : The requested max heigh
error : return location for errors
Returns : A newly allocated GdkPixbuf, or NULL