How can I scale a calro surface? I have the following code, but it does not work (does not scale): cairo_t* cr = cairo_create(tmpSurf); double scale = 0.5; cairo_scale (cr, scale, scale); cairo_surface_write_to_png(tmpSurf, "tmpSurf.png"); Can you please tell me why it does not work? Thank you.