q3d*_*q3d 3 python graphics png python-imaging-library
我有一个小尺寸(300x300)的图像文件,我想将整个图像"粘贴"到我用PIL(2400x1700)创建的较大图像上的某个位置.这是我的代码:
from PIL import Image
im = Image.new("RGB", (2400, 1700), "white")
im2 = Image.open("smallimage.jpg")
im.paste(im2, (20,20,300,300))
im.save("test.png")
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
Traceback (most recent call last):
File "chart.py", line 6, in <module>
im.paste(im2, (20,20,300,300))
File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 1351, in paste
self.im.paste(im, box)
ValueError: images do not match
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将较小的图像粘贴/复制到较大的图像上,而不对较小的图像进行任何转换(例如裁剪)?
粘贴方法中的第二个参数(20,20,300,300)是错误的:
你的第一张图片是300x300.
粘贴方法接受第二个参数,或者是一个2元组,给左上角一个4元组,定义左,上,右和
下像素坐标
有了(20,20,300,300)你说你的形象是280x280的.
对于4元组,以下代码应该这样做:
im.paste(im2, (20,20,320,320))
Run Code Online (Sandbox Code Playgroud)
对于2元组:
im.paste(im2, (20,20))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4670 次 |
| 最近记录: |