manpagez: man pages & more
html files: rsvg-2.0
Home | html | info | man

Using RSVG with GdkPixbuf

Using RSVG with GdkPixbuf — How to render SVGs into GdkPixbufs, for easy use in GTK+ applications

Description

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

Functions

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.

This function depends on the RsvgHandle's DPI to compute dimensions in pixels, so you should call rsvg_handle_set_dpi() beforehand.

Parameters

handle

An RsvgHandle

 

Returns

the pixbuf loaded by handle , or NULL.

[transfer full][nullable]


rsvg_handle_get_pixbuf_sub ()

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

Creates a GdkPixbuf the same size as the entire SVG loaded into handle , but only renders the sub-element that has the specified id (and all its sub-sub-elements recursively). If id is NULL, this function renders the whole SVG.

This function depends on the RsvgHandle's DPI to compute dimensions in pixels, so you should call rsvg_handle_set_dpi() beforehand.

If you need to render an image which is only big enough to fit a particular sub-element of the SVG, consider using rsvg_handle_render_cairo_sub(), upon a surface that is just the size returned by rsvg_handle_get_dimensions_sub(). You will need to offset the rendering by the amount returned in rsvg_handle_get_position_sub().

Element IDs should look like an URL fragment identifier; for example, pass "#foo" (hash foo) to get the geometry of the element that has an id="foo" attribute.

Parameters

handle

An RsvgHandle

 

id

An element's id within the SVG, starting with "##" (a single hash character), for example, "#layer1". This notation corresponds to a URL's fragment ID. Alternatively, pass NULL to use the whole SVG.

[nullable]

Returns

a pixbuf, or NULL if an error occurs during rendering.

[transfer full][nullable]

Since: 2.14


rsvg_pixbuf_from_file ()

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

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 filename and returns it. The caller must assume the reference to the reurned pixbuf. If an error occurred, error is set and NULL is returned.

Parameters

filename

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 *filename,
                               double x_zoom,
                               double y_zoom,
                               GError **error);

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 filename 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.

Parameters

filename

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 *filename,
                               gint width,
                               gint height,
                               GError **error);

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 filename 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.

Parameters

filename

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 *filename,
                                   gint max_width,
                                   gint max_height,
                                   GError **error);

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 filename 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.

Parameters

filename

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 *filename,
                                double x_zoom,
                                double y_zoom,
                                gint max_width,
                                gint max_height,
                                GError **error);

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 filename 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.

Parameters

filename

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

Types and Values

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.