from PIL import ImageColor
ImageColor.getcolor('red','RGB') #顏色 模式
ImageColor.getcolor('red','RGBA') #顏色 模式 帶透明度
from PIL import Image
im = Image.open('ludashi.jpg')#縮略圖制作 打開一個圖像文件 注意為當路徑
print(im.format,im.size,im.mode)#格式,大小,顏色模式
JPEG (900, 600) RGB
w,h = im.size #獲得圖像大小 分別為 寬 高
print('尺寸:%sx%s'%(w,h))
im.thumbnail((w//2,h//2))#縮放為50%
print('縮放圖像大小:%sx%s'%(w//2,h//2))
im.save('ludashi-50.jpg','jpeg') #圖像保存格式 為 jpeg
im_size = im.resize((w//4,h//4)) #調整大小
im_size.save('ludashi-25.jpg')
from PIL import ImageEnhance #增強對比度
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30%增強對比度")
#裁剪圖像
box =(100,100,400,400)
region = im.crop(box)
region.save("ludashi-c.jpe")
#裁剪圖像
box =(100,100,400,400)
region = im.crop(box)
region.save("ludashi-c.jpe")
#旋轉圖像
im.rotate(90).save('ludas-90.jpg')
im.rotate(180).save('luda-180.jpg')
im.rotate(8).save('luda-9.jpg')
#鏡像翻轉
im.transpose(Image.FLIP_LEFT_RIGHT).save('luda-水平翻轉.jpg')
im.transpose(Image.FLIP_TOP_BOTTOM).save('luda-上下翻轉.jpg')
#添加水印,
#打開logo文件
logo_file ='logo.png'
im_logo = Image.open(logo_file)#打開文件
logo_w,logo_h = im_logo.size # 獲得logo的大小
#打開目標文件
target= 'ludashi.jpg'
im_target = Image.open(target)
target_w,target_h = im_target.size #需要加水印的文件大小
#加水印
im_copy = im_target.copy() #制作副本
im_copy.paste(im_logo,(target_w-logo_w,target_h-logo_h),im_logo) #起始位置 (坐標)
im_copy.save('luda-logo.jpg')#保存
#查看波段和每個像素的顏色值
im.getbands()
im.getpixel((111,1)) #像素坐標
#新建圖片 填寫文字
from PIL import ImageDraw,ImageFont
im_new = Image.new('RGBA',(400,400),'white') # 顏色模式,大小,底色
pic = ImageDraw.Draw(im_new)
pic.text((50,50),'uge3',fill='red')#坐標 ,內容, 文字顏色
im_new.save('uge3.png')
#新建圖片 ,填寫文字,處理字體
import os
from PIL import ImageDraw, ImageFont
#fonts_path=r'c:\windows\fonts' #windows系統下字體目錄
fonts_path =r'/usr/share/fonts/dejavu' #linux下
font = ImageFont.truetype(os.path.join(fonts_path,'YuGothB.ttc'))
im_new = Image.new('RGBA',(500,500),'white')
pic =ImageDraw.Draw(im_new)
pic.text((50,50),'悠居藝山',fill='black',font=font)# 坐標,內容,顏色,字體
im_new.save('uge3-font-1.png')