将 django python 中的二维码保存为 to_artistic 方法的 base64
Saving a QR Code in django python as base64 for to_artistic method
我想通过 to_artistic 方法保存我的二维码。
我一直在做的其他二维码:
buffer = io.BytesIO()
qr_img.save(buffer, format="PNG")
qr_code = "data:image/png;base64,"+base64.b64encode(buffer.getvalue()).decode("utf-8")
如何为 qr.to_artistic 执行此操作?文档:https://segno.readthedocs.io/en/latest/web-development.html
谢谢!
您可以将类似文件的对象传递给 target
,因此:
import segno
qr = segno.make('The Beatles -- Abbey Road', error='h')
buffer = io.BytesIO()
qr.to_artistic(
background='my_background.gif',
<b>target=buffer</b>,
scale=4,
<b>kind='gif'</b>
)
qr_code = 'data: image/gif;base64, '+base64.b64encode(buffer.getvalue()).decode('utf-8')
您需要指定 kind=…
参数,否则库将尝试从文件名派生它,但由于您使用 BytesIO
对象,因此 没有 文件名.
我想通过 to_artistic 方法保存我的二维码。
我一直在做的其他二维码:
buffer = io.BytesIO()
qr_img.save(buffer, format="PNG")
qr_code = "data:image/png;base64,"+base64.b64encode(buffer.getvalue()).decode("utf-8")
如何为 qr.to_artistic 执行此操作?文档:https://segno.readthedocs.io/en/latest/web-development.html
谢谢!
您可以将类似文件的对象传递给 target
,因此:
import segno
qr = segno.make('The Beatles -- Abbey Road', error='h')
buffer = io.BytesIO()
qr.to_artistic(
background='my_background.gif',
<b>target=buffer</b>,
scale=4,
<b>kind='gif'</b>
)
qr_code = 'data: image/gif;base64, '+base64.b64encode(buffer.getvalue()).decode('utf-8')
您需要指定 kind=…
参数,否则库将尝试从文件名派生它,但由于您使用 BytesIO
对象,因此 没有 文件名.