Image 包 中的 new() 方法:
新建一个图片对象,设置参数有:图片的模式,图片的尺寸,图片的颜色(不填写颜色的时候,其默认值为0,即 黑色)
返回:一个图片对象,即 <class 'PIL.Image.Image'>
【语法格式:】
Image.new( mode, size, color )
【参数说明:】
- mode:图片的模式。"1", "CMYK", "F", "HSV", "I", "L", "LAB", "P", "RGB", "RGBA", "RGBX", "YCbCr"
- size:一个含有图片 宽,高 的元组;图片的尺寸(width, height)
- color:图片的颜色;其默认值为0,即 黑色;
特别情况:当设置图片的 mode 为 ‘RGBA’ 时,如果不填 color 参数的话,图片是 透明底!
即以下方法,建立的图片对象为 透明底!如果添加文字后,保存为 png 格式,你会得到一张透明底的文字图片!需要绘制透明底图的时,你会需要的。
Image.new('RGBA', (800, 400))
【使用方法:】例如: 创建一个 RGB 模式,宽800、高400,白色的图片
- 导入 PIL 库里的 Image 包
- 使用 Image 包中的 new() 方法,给定参数:图片模式,图片的尺寸(width, height) ,图片的颜色
- 查看图片
from PIL import Image
img = Image.new('RGB', (800, 400), "white")
img.show()
出处:https://zhuanlan.zhihu.com/p/585399599
=======================================================================================
制作icon图标的Python3教程
在开发软件或网站时,我们经常需要为应用程序或网站设计专属的icon图标。Python3中有许多库可以帮助我们制作icon图标,其中最流行的是Pillow库。Pillow库是Python Imaging Library (PIL)的继承版本,提供了丰富的图像处理功能,包括创建、编辑和保存图像文件的功能。
在本教程中,我们将使用Pillow库来制作一个简单的icon图标,并将其保存为.ico格式的文件。
安装Pillow库
首先,我们需要安装Pillow库。可以使用以下命令通过pip安装Pillow库:
pip install Pillow
制作icon图标
接下来,我们将编写Python脚本来制作一个简单的icon图标。下面是一个示例代码:
from PIL import Image
# 创建一个新的图像对象
icon = Image.new('RGBA', (128, 128), (255, 255, 255, 0))
# 保存图像为.ico格式的文件,也可以自定义图片格式,如jpg,png,gif等
icon.save('icon.ico')
在上面的示例代码中,我们首先导入了Image类,然后创建了一个大小为128x128像素的RGBA格式的图像对象,并将其保存为.ico格式的文件。
注意:默认保存的ico文件是16x16大小的
运行代码
将以上代码保存为make_icon.py
文件,并在命令行中执行以下命令来生成icon图标文件:
python make_icon.py
运行成功后,将在当前目录下生成一个名为icon.ico
的图标文件。
总结
通过本教程,我们学习了如何使用Python3中的Pillow库来制作一个简单的icon图标,并将其保存为.ico格式的文件。Pillow库提供了丰富的图像处理功能,可以帮助我们轻松创建和编辑图像文件。希望本教程能帮助你快速制作专属的icon图标,提升应用程序或网站的用户体验。
参考文献
- Pillow官方文档: [
通过本教程,你可以学会如何使用Python3中的Pillow库来制作icon图标,并将其保存为.ico格式的文件。希望能够帮助你快速制作专属的icon图标,提升应用程序或网站的用户体验。
出处:https://blog.51cto.com/u_16213434/11047037
=======================================================================================
python 创建图片文件 image.new()
python2中提供了PIL基础的图像数据出来模块,在python3中更名为了pillow模块,名字虽然发生了改变,但是提供的方法和功能都是一样的,对于日常基础的图像数据处理分析来说是足够用了的。
Image.new
Image.new()方法,顾名思义,是用来new一个新的图像,具体参数如下:
Image.new(mode, size, color=0)
- mode:模式,通常用"RGB"这种模式,如果需要采用其他格式,可以参考博文: PIL的mode参数
- size:生成的图像大小
- color:生成图像的颜色,默认为0,即黑色。
举个栗子:
from PIL import Image
import matplotlib.pyplot as plt
img = Image.new("RGB",(32,32),(255,255,255))
plt.imshow(img)
生成的图片如下:
另外,颜色参数的输入还可以用英文单词表示,或者十六进制的颜色码:
img_red = Image.new("RGB",(32,32),"red")
img_green = Image.new("RGB",(32,32),"#00FF00")
plt.subplot(1,2,1)
plt.imshow(img_red)
plt.subplot(1,2,2)
plt.imshow(img_green)
plt.show()
paste方法
paste,中文就是粘贴的意思,所以该方法就是将paste方法中,传入的图像粘贴在原图像上。
img.paste(im, box=None, mask=None)
定义1:im.paste(image,box)
含义1:将一张图粘贴到另一张图像上。变量box或者是一个给定左上角的2元组,或者是定义了左,上,右和下像素坐标的4元组,或者为空(与(0,0)一样)。如果给定4元组,被粘贴的图像的尺寸必须与区域尺寸一样。
如果模式不匹配,被粘贴的图像将被转换为当前图像的模式。
举个栗子:
from PIL import Image
import matplotlib.pyplot as plt
img = Image.new("RGB",(100,100))
img_small = Image.new("RGB",(20,20),"red")
img.paste(img_small,(20,20))
plt.imshow(img)
plt.show()
这里的
img.paste(img_small,(20,20))
相当于
img.paste(img_small,(20,20,40,40))
将红色的图,粘贴到了黑色图(20,20,40,40)位置
定义2:im.paste(color,box)
含义2:它与定义1一样,但是它使用同一种颜色填充变量box对应的区域。对于单通道图像,变量colour为单个颜色值;对于多通道,则为一个元组。
栗子2:
img = Image.new("RGB",(100,100))
img.paste("red",(10,10,30,30))
plt.imshow(img)
plt.show()
注:
- 对于多通道的图像,如果变量color只给定一个数值,将只会应用于图像的第一个通道。如果是“RGB”模式的图像,将应用于红色通道。
- 这里的坐标不能简写,必须写全,不然程序只知道paste图像右上角的位置,而不知道范围。
定义3:im.paste(image,box, mask)
含义3:与定义1一样,但是它使用变量mask对应的模板图像来填充所对应的区域。可以使用模式为“1”、“L”或者“RGBA”的图像作为模板图像。模板图像的尺寸必须与变量image对应的图像尺寸一致。 如果变量mask对应图像的值为255,则模板图像的值直接被拷贝过来;如果变量mask对应图像的值为0,则保持当前图像的原始值。变量mask对应图像的其他值,将对两张图像的值进行透明融合。
注意:如果变量image对应的为“RGBA”图像,即粘贴的图像模式为“RGBA”,则alpha通道被忽略。用户可以使用同样的图像作为原图像和模板图像。
栗子3:
img = Image.new("RGB",(100,100))
img_mask = Image.new('1',(20,20))
img_mask.paste("white",(10,10,15,15))
img_small = Image.new("RGB",(20,20),"red")
img.paste(img_small,(30,30),img_mask)
plt.imshow(img)
plt.show()
mask图像为:
注:mask掩膜,即提取感兴趣区域进行处理,mask图像需要和被粘贴的图像大小相同,mask图像中黑色的部分会保留原数据,白色部分为感兴趣区域,会把被paste图像的对应区域的数据paste到目标图像上。
换句话说,利用mask,首先将被paste图像先与mask图像“相乘”,规定0为黑色,1为白色,再将“乘积”paste到目标图像上。
如上图,原本被paste的图像大小是20*20的,利用mask后,只有原被粘贴图像上(10,10,15,15)范围的元素被paste到目标图像上。
定义4:im.paste(colour,box, mask)
含义4:与定义3一样,只是使用变量colour对应的单色来填充区域。
栗子4:
img = Image.new("RGB",(100,100))
img_mask = Image.new('1',(20,20))
img_mask.paste("white",(10,10,15,15))
img.paste("blue",(30,30),img_mask)
plt.imshow(img)
plt.show()
=======================================================================================
出处:https://blog.51cto.com/u_16213566/7370604 标签:PIL,img,Python,Image,mask,图像,new,paste From: https://www.cnblogs.com/mq0036/p/18440191