gpt4 book ai didi

python - 如何提高 ReportLab 图像质量?

转载 作者:行者123 更新时间:2023-12-03 21:00:52 25 4
gpt4 key购买 nike

我正在构建一个标签打印机。它由一个标志和一些文字组成,并不难。我已经花了 3 天时间尝试将原始 SVG Logo 绘制到屏幕上,但 SVG 太复杂,使用了太多渐变等。

所以我有一个高质量的位图 Logo (作为 JPG 或 PNG),我正在 ReportLab Canvas 上绘制它。有问题的图像远大于 85*123px。我这样做是希望 ReportLab 能够嵌入整个内容并相应地对其进行缩放。这是我的做法:

canvas.drawImage('logo.jpg', 22+xoffset, 460, 85, 123)

问题是,我的假设是错误的。它似乎在屏幕分辨率下将其缩小到 85*123px,这意味着当它被打印时,它看起来并不好。

ReportLab 是否有任何用于 Canvas 或文档的 DPI 命令,以便我可以保持质量正常?

最佳答案

之前在 ReportLab 公司工作过,我可以告诉您,光栅图像在包含在 PDF 中时不会经过任何自动重新采样/缩小。您使用的 85*123 尺寸不是像素,而是点 (pt),它是物理单位,如毫米或英寸。

我建议使用不同质量的图像打印 PDF 以确认这一点,或者使用您的 PDF 查看器将其放大非常非常远。它在 PDF 查看器中总是看起来有点模糊,因为图像被重新采样两次(一次在成像软件中,然后再次到 PDF 查看器可用的像素)。

这就是我如何计算以像素为单位的大小来制作光栅图像,以便在给定的物理尺寸下很好地打印:

假设我希望图片宽 2 英寸,一英寸有 72 个点,所以我的代码中的宽度为 144。我知道打印的清晰分辨率是 300dpi(每英寸点数),所以光栅图像是保存为 600px 宽。

关于python - 如何提高 ReportLab 图像质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8893928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com