使用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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...