Handle.getPixbufSub

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 <literal>foo</literal>) to get the geometry of the element that has an <literal>id="foo"</literal> attribute.

class Handle
getPixbufSub
(
string id
)

Parameters

id string

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.

Return Value

Type: Pixbuf

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

Meta

Since

2.14