python: image.paste函数的理解
同样的,即使是从负坐标开始粘,超出正常区域的部分也会被自动忽略。这里图b就只剩下一块100*100的区域被粘到a上了。python中PIL库中的paste函数的作用为将一张图片覆盖到另一张图片的指定位置去。由结果可知超出的部分会被自动舍弃。这里只保留了图b中100*150大小的区域。定义中im是要黏贴到image上面去的图片,box是要黏贴到的区域。注意图像的坐标原点在左上角,操作均以图片的左上角
文章共730字 · 阅读需要大约3分钟
一键AI生成摘要,助你高效阅读
问答
·
目录
image.paste函数
python中PIL库中的paste函数的作用为将一张图片覆盖到另一张图片的指定位置去。函数的声明如下:
def paste(self, im, box=None, mask=None):
该函数是图像的一个方法,调用方式为image.paste(...)。
定义中im是要黏贴到image上面去的图片,box是要黏贴到的区域。
举例说明:
1、黏贴是在正常范围内完成的
from PIL import Image
a = Image.new('RGB', (300, 300), (255, 0, 0)) # 生成一张300*300的红色图片
b = Image.new('RGB', (200, 200), (0, 255, 0)) # 200*200的绿色图片
a.paste(b, (50,50)) # 将b贴到a的坐标为(50,50)的位置,以图片左上角为坐标原点,这里说的是原点的移动
a.show() # 显示a
运行结果如下(注意图像的坐标原点在左上角,操作均以图片的左上角为参考点):
2、黏贴的范围超出目标图像的范围
from PIL import Image
a = Image.new('RGB', (300, 300), (255, 0, 0)) # 生成一张300*300的红色图片
b = Image.new('RGB', (100, 400), (0, 255, 0)) # 100*400的绿色图片
a.paste(b, (100,150)) # 将b贴到a的坐标为(100,150)的位置
a.show() # 显示a
运行结果如下:
由结果可知超出的部分会被自动舍弃。这里只保留了图b中100*150大小的区域。
再看另一个超出范围的例子:
from PIL import Image
a = Image.new('RGB', (300, 300), (255, 0, 0)) # 生成一张300*300的红色图片
b = Image.new('RGB', (150, 150), (0, 255, 0)) # 150*150的绿色图片
a.paste(b, (-50,-50)) # 将b贴到a的坐标为(-50,-50)的位置
a.show() # 显示a
运行结果如下:
同样的,即使是从负坐标开始粘,超出正常区域的部分也会被自动忽略。这里图b就只剩下一块100*100的区域被粘到a上了。
更多推荐
已为社区贡献20条内容
所有评论(0)