python实现图片上添加图片

yipeiwu_com6年前Python基础

在介绍完给图上添加文字后,我们再介绍给图片上添加图片,也就是图片的叠加。

需要使用的Python的图像库:PIL.更加详细的知识点如下:

Imaga模块:用来创建,打开,保存图片文件

  • new(path):用来创建一个新的图片文件.该文件位于path所在的路径中。打开后返回Image类型的图片。
  • open(path):用来打开已经存在的图片文件.该文件位于path所在的路径中。打开后返回Image类型的图片。
  • save(path):用来把创建或者打开的图片保到path所在的路径中。
  • paste(img,(x,y)):用来把img引用的图片粘贴到另外一张图片上,粘贴的坐标为第二个参数。

这些函数中,只有最后一个函数是新介绍的,其它的函数,我们以前介绍过。

下面是完整的代码,请参考:

from PIL import Image

def addImg(img):
 markImg = Image.new('RGBA',(120,120),'white')
 img.paste(markImg,(0,0))
 img.save(path)

path = input("Please input the image file with path: ")

try:
 print("path: "+path)
 oriImg = Image.open(path)
 addImg(oriImg)
 oriImg.show()
except IOError:
 print("can't open the file,check the path again")
 newImg = Image.new('RGBA',(320,240),'blue')
 newImg.save(path)

在代码中,我们先创建了一个320*240的蓝色图片,然后再创建一个120*120的白色图片。
通过paste函数把白色图片添加到了蓝色图片中,添加的位置位于蓝色图片左上角。

下面是程序的运行结果,请参考:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决Python print 输出文本显示 gbk 编码错误问题

前阵子想爬点东西,结果一直提示错误UnicodeEncodeError: ‘gbk' codec can't encode character ‘\xa0' in position,在网...

spark dataframe 将一列展开,把该列所有值都变成新列的方法

spark dataframe 将一列展开,把该列所有值都变成新列的方法

The original dataframe 需求:hour代表一天的24小时,现在要将hour列展开,每一个小时都作为一个列 实现: val pivots = beijingGe...

分享Python切分字符串的一个不错方法

一同事问:有一字符串“abcdefghijklmn”如何用Python来切分,每四个一段,剩下的算一段。字符段切分,首先会想到split()和 re.split()函数,但仔细想了一下,...

Python实现字符串中某个字母的替代功能

今晚想实现这样一个功能:将输入字符串中的字母 “i” 变成字母 “p”。当时想的很简单,直接用for循环遍历,然后替代,出问题的代码如下: name = input('随便输入一堆字...

Python docx库用法示例分析

本文实例分析了Python docx库用法。分享给大家供大家参考,具体如下: 打开及保存文件: from docx import Document document = Docume...