模式轉化:
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