码迷,mamicode.com
首页 > 编程语言 > 详细

python图像处理(2)图像水印和PIL模式转化

时间:2018-09-04 13:39:16      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:art   运行   分享图片   图像   .text   imp   inf   透明度   net   

模式转化:

PIL模式转化:将图片转化成其他模式

 1 # 我们将image图像转化为灰度图像(python)
 2 from PIL import Image
 3 img = Image.open(c:\\1.JPG)
 4 img.show()    # 图像的打开展示
 5 # L = I.convert(‘L‘)
 6 # PIL的九种不同模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F 
 7 # 模式转化语句 
 8 L = img.convert(I)
 9 w,h = img.size        # 图尺寸
10 mode = img.mode         # 图片的模式
11 geshi = img.format     # 图片的格式                
12 print(w,h,mode,geshi)
13 L.show()

技术分享图片

技术分享图片

技术分享图片

水印:

from PIL import Image, ImageDraw, ImageFont
# 添加文字水印
# RGBA的意思是(Red-Green-Blue-Alpha)它是在RGB上扩展包括了“alpha”通道,运行对颜色值设置透明度
im = Image.open("C:/1.jpg").convert(RGBA)  
txt=Image.new(RGBA, im.size, (0,0,0,0))    # 图像的大小
fnt=ImageFont.truetype("c:/Windows/fonts/Candara.ttf", 50)        # 选水印的字体
d=ImageDraw.Draw(txt)
d.text((txt.size[0]-120,txt.size[1]-50), "Hello",font=fnt,fill=(255,0,0,255))
out=Image.alpha_composite(im,txt)
out.show()
out.save(r"c:/pp.png")

技术分享图片

# 添加图片水印

im = Image.open("C:/2.jpg")
mark=Image.open("C:/1.jpg")
print(im.size)
# RGBA表示四个属性A表示透明度 关于new(‘模式’,大小尺寸,颜色)
layer=Image.new(RGBA, im.size, (0,0,0,0))
layer.paste(mark, (im.size[0]-400,im.size[1]-200))    # 改变水印图片的位置
# composite:使用两幅给出的图片和一个与alpha参数相似用法的mask参数其值可为:"1","L","RGBA"。两幅图片的size必须相同。
out=Image.composite(layer,im,layer)
out.show()

技术分享图片

#参考 https://blog.csdn.net/icamera0/article/details/50747084

python图像处理(2)图像水印和PIL模式转化

标签:art   运行   分享图片   图像   .text   imp   inf   透明度   net   

原文地址:https://www.cnblogs.com/zhanghaiyan/p/9398753.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!