35 #include <gdk-pixbuf/gdk-pixbuf.h>
42 #include <cairo-pdf.h>
44 #include <cairo-svg.h>
47 exportimage_render_to_surface_and_destroy(
50 cairo_t* cairoTarget = cairo_create(cSurface);
52 gerbv_render_all_layers_to_cairo_target_for_vector_output(gerbvProject, cairoTarget, renderInfo);
53 cairo_destroy(cairoTarget);
54 cairo_surface_destroy(cSurface);
60 gerbv_render_get_boundingbox(gerbvProject, &bb);
64 bb.
right += (tempWidth * 0.05);
65 bb.
left -= (tempWidth * 0.05);
66 bb.
bottom += (tempHeight * 0.05);
67 bb.
top -= (tempHeight * 0.05);
69 float height = bb.
bottom - bb.
top + 0.001;
72 width * 72, height * 72 };
78 gerbv_project_t* gerbvProject,
int widthInPixels,
int heightInPixels,
const gchar* filename
92 cairo_surface_t* cSurface =
94 cairo_t* cairoTarget = cairo_create(cSurface);
95 gerbv_render_all_layers_to_cairo_target(gerbvProject, cairoTarget, renderInfo);
96 if (CAIRO_STATUS_SUCCESS != cairo_surface_write_to_png(cSurface, filename)) {
97 GERB_COMPILE_ERROR(_(
"Exporting error to file \"%s\""), filename);
99 cairo_destroy(cairoTarget);
100 cairo_surface_destroy(cSurface);
115 exportimage_render_to_surface_and_destroy(gerbvProject, cSurface, renderInfo, filename);
129 exportimage_render_to_surface_and_destroy(gerbvProject, cSurface, renderInfo, filename);
143 exportimage_render_to_surface_and_destroy(gerbvProject, cSurface, renderInfo, filename);
Header info for the cairo rendering functions and the related selection calculating functions.
void gerbv_export_png_file_from_project(gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, const gchar *filename)
Render a project to a PNG file using user-specified render info.
void gerbv_export_svg_file_from_project_autoscaled(gerbv_project_t *gerbvProject, const gchar *filename)
Render a project to a SVG file, autoscaling the layers to fit inside the specified image dimensions.
void gerbv_export_pdf_file_from_project(gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, const gchar *filename)
Render a project to a PDF file using user-specified render info.
void gerbv_export_postscript_file_from_project_autoscaled(gerbv_project_t *gerbvProject, const gchar *filename)
Render a project to a Postscript file, autoscaling the layers to fit inside the specified image dimen...
void gerbv_export_svg_file_from_project(gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, const gchar *filename)
Render a project to a file using user-specified render info.
void gerbv_export_pdf_file_from_project_autoscaled(gerbv_project_t *gerbvProject, const gchar *filename)
Render a project to a PDF file, autoscaling the layers to fit inside the specified image dimensions.
void gerbv_export_postscript_file_from_project(gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo, const gchar *filename)
Render a project to a Postscript file using user-specified render info.
void gerbv_export_png_file_from_project_autoscaled(gerbv_project_t *gerbvProject, int widthInPixels, int heightInPixels, const gchar *filename)
Render a project to a PNG file, autoscaling the layers to fit inside the specified image dimensions.
void gerbv_render_zoom_to_fit_display(gerbv_project_t *gerbvProject, gerbv_render_info_t *renderInfo)
Calculate the zoom and translations to fit the rendered scene inside the given scene size.
The main header file for the libgerbv library.
@ GERBV_RENDER_TYPE_CAIRO_HIGH_QUALITY
Header info for the rendering support functions for gerbv.