forked from hswaw/labelmaker
fix: rotate preview to be human-readable
parent
eb58a977da
commit
a8e861f499
|
@ -38,6 +38,16 @@ class Renderer(object):
|
|||
with open(name, 'wb') as f:
|
||||
self.surface.write_to_png(f)
|
||||
|
||||
def get_preview(self):
|
||||
new_surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, self.width, self.height)
|
||||
context = cairo.Context(new_surface)
|
||||
context.translate(0, self.height)
|
||||
# 360 no scope
|
||||
context.rotate(-90.0*math.pi/180.0)
|
||||
context.set_source_surface(self.surface, 0, 0)
|
||||
context.paint()
|
||||
return new_surface.write_to_png()
|
||||
|
||||
def render_text(self, text, fontname, x, y, html=False):
|
||||
print("Fontname:", fontname)
|
||||
self.context.save()
|
||||
|
@ -76,7 +86,7 @@ def stuff_preview(size):
|
|||
renderer = Renderer()
|
||||
renderer.render_text(text, 'Sans {}'.format(size), 0, -1, html)
|
||||
|
||||
preview = renderer.surface.write_to_png()
|
||||
preview = renderer.get_preview()
|
||||
return flask.Response(preview, mimetype='image/png')
|
||||
|
||||
DELAY = 5
|
||||
|
|
Loading…
Reference in New Issue