[cairo] SVG Newbie
Peter Laurens
peterlaurenspublic at gmail.com
Tue May 29 10:41:10 PDT 2007
Hi, I am new to Cairo, and am having some trouble getting the basics
down about rendering SVGs.
I have attempted to take the example snippet and just use it to
render to an SVG file to a PNG, that's all my needs are really. Here
is my code:
#include <stdio.h>
#include <cairo.h>
#include <cairo-svg.h>
int main (int argc, char const* argv[])
{
// 1
cairo_surface_t *surface;
surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 250, 100);
cairo_t *cr;
cr = cairo_create(surface);
// 2
svg_cairo_t *svgc;
unsigned int w, h;
snippet_normalize (cr, width, height);
svg_cairo_create (&svgc);
svg_cairo_parse (svgc, "barChart.svg");
svg_cairo_get_size (svgc, &w, &h);
cairo_scale (cr, 1.0/w, 1.0/h);
svg_cairo_render (svgc, cr);
svg_cairo_destroy (svgc);
// 3
cairo_destroy(cr);
cairo_surface_write_to_png(surface, "output.png");
cairo_surface_destroy(surface);
return 0;
}
Now there are a couple obvious things there that are going to cause
compile errors I know, like I haven't set the variables 'width' and
'height', but I get problems with some of the SVG functions, here's
what the compiler says:
cairo_test.c: In function 'main':
cairo_test.c:16: error: 'svg_cairo_t' undeclared (first use in this
function)
cairo_test.c:16: error: (Each undeclared identifier is reported only
once
cairo_test.c:16: error: for each function it appears in.)
cairo_test.c:16: error: 'svgc' undeclared (first use in this function)
cairo_test.c:19: warning: implicit declaration of function
'snippet_normalize'
cairo_test.c:19: error: 'width' undeclared (first use in this function)
cairo_test.c:19: error: 'height' undeclared (first use in this function)
cairo_test.c:21: warning: implicit declaration of function
'svg_cairo_create'
cairo_test.c:23: warning: implicit declaration of function
'svg_cairo_parse'
cairo_test.c:24: warning: implicit declaration of function
'svg_cairo_get_size'
cairo_test.c:26: warning: implicit declaration of function
'svg_cairo_render'
cairo_test.c:28: warning: implicit declaration of function
'svg_cairo_destroy'
Can anyone help advise me on what I've done wrong here - I'm also
unsure of my using the SVG stuff in relation to the cairo surface etc.
Any help is much appreciated,
Thanks in advance,
- Peter
More information about the cairo
mailing list