如何将图像宽高比设置为来自qrc.py reportlab的原始图像高宽比?

问题描述

如何将徽标设置为图像尺寸的原始宽高比。如果我采用矩形图像,它将徽标的大小调整为方形。如何避免这个问题。 下面是示例代码

from io import BytesIO
from PyQt5 import QtCore

from reportlab.lib.pagesizes import A4
from reportlab.platypus import SimpleDocTemplate,Image

import image_fonts_rc


def convert_qrc_to_bytesio(filename):
    file = QtCore.QFile(filename)
    if not file.open(QtCore.qiodevice.ReadOnly):
        raise RuntimeError(file.errorString())
        return
    f = BytesIO(file.readAll().data())
    return f


doc = SimpleDocTemplate(
    "images.pdf",pagesize=A4,rightMargin=40,leftMargin=40,topMargin=20,bottomMargin=20,title="Images",)

width,height = A4
document = []

logo = convert_qrc_to_bytesio(":/image_fonts/logo.PNG")
imgw = imgh = 80
im = Image(logo,width=imgw,height=imgh)

document.append(im)

doc.build(document)

image_fonts.qrc

<RCC>
  <qresource prefix="image_fonts">
    <file>image.png</file>
    <file>logo.png</file>
  </qresource>
</RCC>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)