forked from hswaw/labelmaker
Compare commits
2 Commits
67efaca6dc
...
3d088365be
Author | SHA1 | Date |
---|---|---|
ptrcnull | 3d088365be | |
ptrcnull | ca62f5aab1 |
|
@ -16,7 +16,7 @@ app = flask.Flask(__name__)
|
|||
class Renderer(object):
|
||||
INCH_PER_MM = 0.039
|
||||
DPI = 300
|
||||
def __init__(self, size=(36, 89)):
|
||||
def __init__(self, preview=False, size=(36, 89)):
|
||||
width, height = [int(s * self.INCH_PER_MM * self.DPI) for s in size]
|
||||
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
|
||||
context = cairo.Context(surface)
|
||||
|
@ -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()
|
||||
|
@ -73,10 +83,10 @@ def index():
|
|||
def stuff_preview(size):
|
||||
text = flask.request.args.get('text')
|
||||
html = flask.request.args.get('html') == '1'
|
||||
renderer = Renderer()
|
||||
renderer = Renderer(preview=True)
|
||||
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
|
||||
|
|
|
@ -56,12 +56,12 @@
|
|||
<h1>Hackerspace Printing System For Printing Labels</h1>
|
||||
</div>
|
||||
<h3>Box 'o Stuff Label <small>For SAMLA boxes with common equipment</small></h3>
|
||||
<div>
|
||||
<h4>Preview</h4>
|
||||
<img id="preview" src="/api/preview/70/?text=dupa" class="img-responsive" alt="Label preview" /><br />
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<h4>Preview</h4>
|
||||
<img id="preview" src="/api/preview/70/?text=dupa" class="img-responsive" alt="Label preview" /><br />
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-5">
|
||||
<h4>Settings</h4>
|
||||
<div class="form-group">
|
||||
<label for="fontsize">Font Size</label>
|
||||
|
|
Loading…
Reference in New Issue