python环境的安装与配置等我有时间再写趴,今天学的内容主要还是一个了解入门的阶段,就当了解一下python的PIL
库趴,废话不多说直接上代码!
#导入PIL和random库
from PIL import ImageDraw,Image,ImageFont,ImageFilter
from random import randint
#创建空白图片
image1=Image.new('RGB',(240,120),(120,130,140))
#创建图像对象
draw1=ImageDraw.Draw(image1)
#创建背景板(主要是利用point随机写点的颜色,最后效果如图1)
for x in range(240):
for y in range(120):
r =randint(0, 255)
g =randint(0,255)
b = randint(0, 255)
draw1.point((x,y),(r,g,b))
#创建字体
font1=ImageFont.truetype('fonts/aa.ttf',50)
#随机写入数字利用randint
for x in range(5):
y = randint(10,50)
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
num=str(randint(0,9))
draw1.text((x*50,y),num,(r,g,b),font1)
#图像滤镜效果
image1.filter(ImageFilter.BLUR)
#将图片进行展示
image1.show()
#最后效果如图2
# 1)加载图片,返回图片对象
# 图片地址可以是写绝对路径,也可以写相对路径
图片对象 = Image.open(图片地址)
# 2)显示图片
图片对象.show()
image1.filter(滤镜效果)
"""
滤镜效果:
ImageFilter.EMBOSS - 浮雕效果
ImageFilter.FIND_EDGES - 泼墨效果
ImageFilter.SHARPEN - 锐化滤波
ImageFilter.SMOOTH - 平滑滤波
ImageFilter.EDGE_ENHANCE_MORE - 边界增强滤波(程度更深)
ImageFilter.EDGE_ENHANCE - 边界增强滤波
ImageFilter.DETAIL - 细节滤波
ImageFilter.CONTOUR - 轮廓滤波(铅笔画)
ImageFilter.BLUR - 模 糊滤波
"""
图片对象.crop(范围)
范围: (起点x坐标,起点y坐标, 终点x坐标,终点y坐标)
图片对象1.paste(图片对象2,(x坐标,y坐标))
图片对象.transpose(对称方式)
# Image.FLIP_LEFT_RIGHT - 左右镜像
# Image.FLIP_TOP_BOTTOM - 上下镜像
图片对象.thumbnail((宽度, 高度)) - 自动按比例缩放
Image.new(模式,图片大小, 背景颜色)
image1 = Image.new('RGB', (1000, 1000), (0, 255, 255))
# 1.创建一个空的图片
Image.new(模式,图片大小,背景颜色)#该模式即位RGB和RGBA
# 2.创建draw对象
draw1=ImageDraw.Draw(图片对象)
# 3.创建font对象
font1=ImageFont.truetype(字体文件,字体大小)
# 4.画文字
draw1.text(坐标,文字,文字颜色,字体对象)
# 1.创建一个图片对象(可以是空图片,也可以是已经存在的图片)
# 2.创建Draw对象
draw1=ImageDraw.Draw(图片对象)
# 3.设置点颜色
Draw1.point(坐标,颜色)
from PIL import Image
layer1 = Image.open(背景图片地址).convert('RGBA')
layer2 = Image.open(带透明度的小图片的地址)
final1 = Image.new('RGBA', layer1.size, (255, 255, 0, 255))
final1 = Image.alpha_composite(final1, layer1)
final2 = Image.new('RGBA', layer1.size, (255,255,0,0))
final2.paste(layer2, (贴的位置的x坐标, 贴的位置的y坐标))
final1 = Image.alpha_composite(final1, final2)
final1.show()