Reputation: 489
I would like to save my QR Code from the to_artistic method.
For my other qr codes I have been doing:
buffer = io.BytesIO()
qr_img.save(buffer, format="PNG")
qr_code = "data:image/png;base64,"+base64.b64encode(buffer.getvalue()).decode("utf-8")
How can I do this for qr.to_artistic? Documentation: https://segno.readthedocs.io/en/latest/web-development.html
Thanks!
Upvotes: 1
Views: 3793
Reputation: 476574
You can pass a file-like object to the target
, so:
import segno
qr = segno.make('The Beatles -- Abbey Road', error='h')
buffer = io.BytesIO()
qr.to_artistic(
background='my_background.gif',
target=buffer,
scale=4,
kind='gif'
)
qr_code = 'data: image/gif;base64, '+base64.b64encode(buffer.getvalue()).decode('utf-8')
You need to specify the kind=…
parameter, otherwise the library will try to derive this from the filename, but since you use a BytesIO
object, this has no filename.
Upvotes: 1