python生成条形码 修改图片大小

150 篇文章 4 订阅

简化版

import barcode


from barcode.writer import ImageWriter

dn = '2312123123132'

code1 = barcode.generate('ean13','2312123123132',
                         writer=barcode.writer.ImageWriter(),
                         output='2312123123132',
                         writer_options={
                            "quiet_zone": 1.5,
                             "write_text": False
                         },
                         )

print(code1)


效果图
在这里插入图片描述

import barcode


from barcode.writer import ImageWriter

print(barcode.PROVIDED_BARCODES)

EAN = barcode.get_barcode_class('ean13')
ean = EAN('5901234123457', writer=ImageWriter())

fullname = ean.save('code')

code1 = barcode.generate('ean13','2312123123132',
                         writer=barcode.writer.ImageWriter(),
                         output='barcode_png2',
                         writer_options={
                            "quiet_zone": 1.5,
                             "write_text": False
                         },
                         )

print(fullname)

from PIL import Image

basewidth = 200
img = Image.open('barcode_png2.png')
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), Image.ANTIALIAS)
img.save('resized_image.jpg')

生成条形码option选项
options参数默认值为None,此时使用默认参数。如果需要修改设置,使用字典传入参数,例如:save(“d:\barcode”,{‘text’: ‘ABCD’,‘format’:‘JPEG’})。可用参数如下:

‘module_width’:默认值0.2,每个条码宽度(?),单位为毫米

‘module_height’:默认值15.0,条码高度,单位为毫米

‘quiet_zone’:默认值6.5,两端空白宽度,单位为毫米

‘font_size’:默认值10,文本字体大小,单位为磅

‘text_distance’:默认值5.0,文本和条码之间的距离,单位为毫米

‘background’:默认值’white’,背景色

‘foreground’:默认值’black’,前景色

‘text’:默认值’’,显示文本,默认显示编码,也可以自行设定

‘write_text’:默认值True,是否显示文本,如果为True自动生成text的值,如果为False则不生成(如果此时手工设置了text的值,仍然会显示文本)。

‘center_text’:默认值True,是否居中显示文本

‘format’:默认值’PNG’,保存文件格式,默认为PNG,也可以设为JPEG、BMP等,只在使用ImageWriter时有效。

‘dpi’:默认值300,图片分辨率,,只在使用ImageWriter时有效。

参考
https://blog.csdn.net/weixin_39917485/article/details/110970729

https://blog.csdn.net/chenliang1038/article/details/111224290

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值