def create_graphics_context(params): pagesize = (params['output_width'] * params['output_dpi'], params['output_height'] * params['output_dpi']) canvas = Canvas(filename=params['output_name'], pagesize=pagesize) gc = PdfGraphicsContext(canvas) gc.set_line_width(params.get('hairline_width', 0.001) * inch) return gc
def font_metrics_provider(): from reportlab.pdfgen.canvas import Canvas from reportlab.lib.pagesizes import letter from kiva.api import Font # a file will not be created unless save() is called on the context pdf_canvas = Canvas(filename="enable_tmp.pdf", pagesize=letter) gc = GraphicsContext(pdf_canvas) gc.set_font(Font()) return gc
def font_metrics_provider(): from reportlab.pdfgen.canvas import Canvas from reportlab.lib.pagesizes import letter from kiva.fonttools import Font # a file will not be created unless save() is called on the context pdf_canvas = Canvas(filename='enable_tmp.pdf', pagesize=letter) gc = GraphicsContext(pdf_canvas) gc.set_font(Font()) return gc
def __init__(self, pdf_canvas=None, filename=None, pagesize=None, dest_box=None, dest_box_units=None): if filename: self.filename = filename if pagesize: self.pagesize = pagesize if dest_box: self.dest_box = dest_box if dest_box_units: self.dest_box_units = dest_box_units if pdf_canvas is None: pdf_canvas = self._create_new_canvas() GraphicsContext.__init__(self, pdf_canvas)
def __init__(self, pdf_canvas=None, filename=None, pagesize=None, dest_box=None, dest_box_units=None): if filename: self.filename = filename if pagesize: self.pagesize = pagesize if dest_box: self.dest_box = dest_box if dest_box_units: self.dest_box_units = dest_box_units if pdf_canvas == None: pdf_canvas = self._create_new_canvas() GraphicsContext.__init__(self, pdf_canvas)
def create_graphics_context(self, width=300, height=300): from reportlab.pdfgen.canvas import Canvas from kiva.pdf import GraphicsContext filename = "{0}.pdf".format(self.filename) canvas = Canvas(filename, (width, height)) return GraphicsContext(canvas)
def save_plot_pdf(component, filename, size, dpi=72): from kiva.pdf import GraphicsContext from reportlab.pdfgen.canvas import Canvas from reportlab.lib.units import inch width = (size[0] / float(dpi)) * inch height = (size[1] / float(dpi)) * inch pagesize = (width, height) canvas = Canvas(filename=filename, pagesize=pagesize) gc = GraphicsContext(canvas) old_backbuffer = component.use_backbuffer try: component.use_backbuffer = False component.draw(gc) finally: component.use_backbuffer = old_backbuffer gc.save()
gc.set_stroke_color((0.0, 0.0, 0.0, 1.0)) gc.move_to(w / 3, h / 2) gc.arc_to(w / 3, 2 * h / 3, w / 2, 2 * h / 3, r) gc.arc_to(2 * w / 3, 2 * h / 3, 2 * w / 3, h / 2, r) gc.arc_to(2 * w / 3, h / 3, w / 2, h / 3, r) gc.arc_to(w / 3, h / 3, w / 3, h / 2, r) gc.line_to(w / 3, h / 2) gc.stroke_path() canvas = Canvas(filename="arcs.pdf", pagesize=letter) gc = GraphicsContext(canvas) gc.set_alpha(0.3) gc.set_stroke_color((1.0, 0.0, 0.0)) gc.set_fill_color((0.0, 1.0, 0.0)) gc.rect(95, 95, 10, 10) gc.fill_path() draw_ellipse(gc, 100, 100, 35.0, 25.0, pi / 6) draw_round_rect(gc) gc.save()
gc.move_to(w/3, h/2) gc.arc_to(w/3, 2*h/3, w/2, 2*h/3, r) gc.arc_to(2*w/3, 2*h/3, 2*w/3, h/2, r) gc.arc_to(2*w/3, h/3, w/2, h/3, r) gc.arc_to(w/3, h/3, w/3, h/2, r) gc.line_to(w/3, h/2) gc.stroke_path() canvas = Canvas(filename='arcs.pdf', pagesize=letter) gc = GraphicsContext(canvas) gc.set_alpha(0.3) gc.set_stroke_color((1.0,0.0,0.0)) gc.set_fill_color((0.0,1.0,0.0)) gc.rect(95, 95, 10, 10) gc.fill_path() draw_ellipse(gc, 100, 100, 35.0, 25.0, pi / 6) draw_round_rect(gc) gc.save()