如何解决使用Python编码图像时图像质量下降
我正在尝试使用python-barcode
库在Django应用中创建条形码并将其显示在django模板上,但是在打印图像时会降低图像的质量。有没有一种方法可以保持分辨率不变,或者可以固定模板上的列大小以免像素化
Views.py
def PrintGRNsv1(request,pk):
...
for item in items:
EAN = barcode.get_barcode_class('code128')
d = {'module_width': 0.15,'module_height': 2.5,'quiet_zone': 0.5,'text_distance': 0.5,'font_size': 6,'text_line_distance': 5}
w = ImageWriter(d)
ean = EAN(item['bar'],writer=ImageWriter())
a = ean.save(item['bar'],options=d)
print("a ",a)
with open(a,'rb') as image:
img = image.read()
encoded_string = base64.b64encode(img).decode('utf-8')
alist.append({ 'image': encoded_string,**item})
os.remove(a)
alist = grouper(alist,7)
return render(request,'grn/printgrn.html',{'imglist':alist})
模板:
<div class="grid-col">
<span style="text-align: center">
<br>
<br>
<img src="data:image/png;base64,{{ row.image }}" alt="" srcset="">
<br>
{{ row.label }} <br>
{% if row.lname %}
{{ row.lname }}
{% else %}
_____
{% endif %}
</span>
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。