From d63bf0d68ae100c0413c7619f96d5d1c65da6c4e Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Sun, 15 Feb 2015 13:29:50 -0500 Subject: Fix cairo image size --- examples/cairo_example.png | Bin 2397907 -> 2078392 bytes gerber/render/cairo_backend.py | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/examples/cairo_example.png b/examples/cairo_example.png index d6076b5..d92865d 100644 Binary files a/examples/cairo_example.png and b/examples/cairo_example.png differ diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py index 18d1ceb..f79dfbe 100644 --- a/gerber/render/cairo_backend.py +++ b/gerber/render/cairo_backend.py @@ -44,7 +44,14 @@ class GerberCairoContext(GerberContext): def set_bounds(self, bounds): if not self.background: xbounds, ybounds = bounds - self.ctx.rectangle(SCALE * xbounds[0], SCALE * ybounds[0], SCALE * (xbounds[1]- xbounds[0]), SCALE * (ybounds[1] - ybounds[0])) + width = SCALE * (xbounds[1] - xbounds[0]) + height = SCALE * (ybounds[1] - ybounds[0]) + self.surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(width), int(height)) + self.ctx = cairo.Context(self.surface) + self.ctx.translate(0, height) + self.scale = (SCALE,SCALE) + self.ctx.scale(1, -1) + self.ctx.rectangle(SCALE * xbounds[0], SCALE * ybounds[0], width, height) self.ctx.set_source_rgb(0,0,0) self.ctx.fill() self.background = True -- cgit