【发布时间】:2020-10-22 17:20:07
【问题描述】:
我想使用 Pillow 创建一个 PNG。 PNG 后来用于标签打印。所以,我尝试使用PIL 创建一个新图像,添加一些文本、一个多边形和一个二维码。但是,我发现很难获得合适的图像尺寸(与标签尺寸相关,即 7.5 厘米 x 5.5 厘米)。我只能通过尝试和错误到达那里(大致是(275, 204))。保存时,PNG的分辨率很差,所以打印出来。
如何正确计算图像大小以及如何提高将图像保存为 PNG(或 JPG 或 JPEG)的分辨率。
到目前为止,这是我的代码:
import qrcode
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
# Create qr code instance
qr = qrcode.QRCode(
version = 1,
error_correction = qrcode.constants.ERROR_CORRECT_H,
box_size = 4,
border = .2,
)
text = "test"
# Create new image
img = Image.new('RGB', (275, 204), color = (220,220,220))
# Add data
qr.add_data(text)
qr.make(fit=True)
# Create an image from the QR Code instance
qrc = qr.make_image(fill_color='black', back_color='white')
draw = ImageDraw.Draw(img)
font1 = ImageFont.truetype("arial.ttf", 25)
font2 = ImageFont.truetype("arial.ttf", 60)
draw.text((65, 150),text,(0,0,0),font=font1)
draw.text((115, 120),text,(0,0,0),font=font2)
draw.polygon(((5, 20), (50, 34), (50, 6)), fill=0)
img.paste(qrc, (80,25))
img.show()
#img.save("image.png", dpi = (300,300))
【问题讨论】:
标签: python image size python-imaging-library resolution