def _size_changed(self, old, new): Renderer._size_changed(self, old, new) width, height = self.size stride = width * 4 self.buf = buf = agg.buffer(width, height, stride) self.rbuf = rbuf = agg.rendering_buffer() rbuf.attachb(buf) self.pf = pf = agg.pixel_format_rgba(rbuf) self.rbase = rbase = agg.renderer_base_rgba(pf) rbase.clear_rgba8(self.white) # the antialiased renderers self.renderer = agg.renderer_scanline_aa_solid_rgba(rbase) self.rasterizer = agg.rasterizer_scanline_aa() self.scanline = agg.scanline_p8() self.trans = None # the aliased renderers self.rendererbin = agg.renderer_scanline_bin_solid_rgba(rbase) self.scanlinebin = agg.scanline_bin()
mtrans = translation*scaling # cannot use this as a temporary tpath = agg.conv_transform_path(path, mtrans) curve = agg.conv_curve_trans(tpath) stride = width*4 buffer = agg.buffer(width, height, stride) rbuf = agg.rendering_buffer() rbuf.attachb(buffer) red = agg.rgba8(255,0,0,255) blue = agg.rgba8(0,0,255,255) white = agg.rgba8(255,255,255,255) pf = agg.pixel_format_rgba(rbuf) rbase = agg.renderer_base_rgba(pf) rbase.clear_rgba8(white) renderer = agg.renderer_scanline_aa_solid_rgba(rbase); rasterizer = agg.rasterizer_scanline_aa() scanline = agg.scanline_p8() # first fill rasterizer.add_path(curve) renderer.color_rgba8(blue) agg.render_scanlines_rgba(rasterizer, scanline, renderer); # then stroke
red = agg.rgba8(255,0,0,255) blue = agg.rgba8(0,0,255,255) green = agg.rgba8(0,255,0,255) black = agg.rgba8(0,0,0,255) white = agg.rgba8(255,255,255,255) yellow = agg.rgba8(192,192,255,255) ## Create the rendering buffer, rasterizer, etc width, height = 600,400 stride = width*4 buffer = agg.buffer(width, height, stride) rbuf = agg.rendering_buffer() rbuf.attachb(buffer) pf = agg.pixel_format_rgba(rbuf) rbase = agg.renderer_base_rgba(pf) rbase.clear_rgba8(blue) renderer = agg.renderer_scanline_aa_solid_rgba(rbase); renderer.color_rgba8( red ) rasterizer = agg.rasterizer_scanline_aa() scanline = agg.scanline_p8() ## A polygon path path = agg.path_storage() path.move_to(10,10) path.line_to(100,100) path.line_to(200,200) path.line_to(100,200) path.close_polygon()