from PIL import ImageColor ImageColor.getcolor('red','RGB') #顏色 模式
ImageColor.getcolor('red','RGBA') #顏色 模式 帶透明度
#切換到有圖片的目錄 %cd IMAGE
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.show()#顯示圖片
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')