如何解决ReportLab图像在画布上绘制\\“画布
| 使用以下代码段将ReportLab \的图像镜像到PDF画布上:from reportlab.pdfgen import canvas
from reportlab.platypus import Image
pdf = canvas.Canvas(filename,bottomup=0)
logo_image = Image(
\"%s/images/wsp_logo.jpg\" % settings.STATIC_ROOT,width=200,height=200)
logo_image.drawOn(pdf,100,100)
如人们期望的那样,如何将其绘制为“正常”?
解决方法
使用canvas.scale函数翻转图像。
canvas.saveState()
canvas.translate(x,y)
canvas.scale(1,-1)
canvas.drawImage(img_path,width=-width,height=-height,mask=\'auto\')
canvas.restoreState()
,我目前无法测试,但这可能是因为创建Canvas
对象时出现了bottomup = 0
。默认值为1
。从文档中:
自下而上的参数切换坐标系。一些图形系统(如PDF和PostScript)位于页面的左下角(0,0),其他图形系统(如许多图形用户界面[GUI])则将原点放在左上角。自下而上的参数已被弃用,将来可能会删除
需要查看它是否真的适用于所有任务,否则请删除它
考虑到该报价中的警告,我猜测是将其设置为“ 5”是问题的根源。
,以左下角的原点(0,0)绘制图片。
canvas.saveState()
canvas.transform(1,-1,H)
draw_your_picture_code()
canvas.restoreState()
H
是页面的高度。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。