?PIL(Python Image Library)是python的第三方圖像處理庫(kù),但是由于其強(qiáng)大的功能與眾多的使用人數(shù),幾乎已經(jīng)被認(rèn)為是python官方圖像處理庫(kù)了。
其官方主頁(yè)為:PIL。 PIL歷史悠久,原來(lái)是只支持python2.x的版本的,后來(lái)出現(xiàn)了移植到python3的庫(kù)pillow,pillow號(hào)稱是friendly fork for PIL,其功能和PIL差不多,但是支持python3。
PIL(Python Imaging Library)是Python一個(gè)強(qiáng)大方便的圖像處理庫(kù),只支持到Python2.7。
Pillow是PIL的一個(gè)派生分支,在Python3標(biāo)準(zhǔn)庫(kù)中用Pillow代替PIL。
Pillow官網(wǎng):https://pillow.readthedocs.io/en/latest/handbook/index.html
下面是使用例子,用法可見(jiàn)代碼注釋。
from PIL import Image,ImageFilter,ImageGrab,ImageDraw,ImageFont # 創(chuàng)建圖片:寬800*高600,紅色 imNew = Image.new('RGB',(800,600),(255,0,0)) # 顯示圖片 #imNew.show() # 抓取屏幕 imGrab = ImageGrab.grab() imGrab.save('grab.jpg', 'jpeg') # 打開(kāi)圖片 im = Image.open('1.jpg') # 復(fù)制圖片 im1 = im.copy() im2 = im.copy() im3 = im.copy() im4 = im.copy() im5 = im.copy() im6 = im.copy() im7 = im.copy() # 獲得圖片寬高: w, h = im.size print('圖片寬高:{} * {}'.format(w, h)) # 縮略圖(圖片不會(huì)被拉伸,只能縮小) im.thumbnail((w//2, h//2)) im.save('1_thumbnail.jpg', 'jpeg') # 縮放(圖片可能會(huì)被拉伸,可縮小也可放大) im1 = im1.resize((w//2, h//2)) im1.save('1_resize.jpg', 'jpeg') # 模糊圖片 im2 = im2.filter(ImageFilter.BLUR) im2.save('1_blur.jpg', 'jpeg') # 旋轉(zhuǎn)圖片,逆時(shí)鐘旋轉(zhuǎn)45度 im3 = im3.rotate(45) im3.save('1_rotate.jpg', 'jpeg') # 圖片轉(zhuǎn)換:左右轉(zhuǎn)換 FLIP_LEFT_RIGHT,上下轉(zhuǎn)換 FLIP_TOP_BOTTOM im4 = im4.transpose(Image.FLIP_LEFT_RIGHT) im4.save('1_transpose.jpg', 'jpeg') # 圖片裁剪 box = (200,200,400,400) #左上角(0,0),4元組表示坐標(biāo)位置:左、上、右、下 im5 = im5.crop(box) im5.save('1_crop.jpg', 'jpeg') # 圖片上添加文字 draw = ImageDraw.Draw(im6) #truetype設(shè)置字體、文字大小 #stxingka.ttf華文行楷 simkai.ttf 楷體 simli.ttf 隸書(shū) font = ImageFont.truetype("C:\\WINDOWS\\Fonts\\stxingka.ttf", 20) draw.text((100,100), ('hello word \n你好,世界'), fill='#0000ff', font=font) im6.save('1_drawText.jpg', 'jpeg') # 圖片上添加圖片(粘貼圖片) imTmp = Image.new('RGB',(30,30),'blue') im7.paste(imTmp, (50,50)) #第2個(gè)參數(shù)為坐標(biāo) im7.save('1_paste.jpg','jpeg') # 圖片橫向拼接:拼接上面im6、im7(兩張圖片大小一樣) im6Width, im6Height = im6.size imHorizontal = Image.new('RGB', (im6Width * 2, im6Height)) imHorizontal.paste(im6, (0,0)) imHorizontal.paste(im7, (im6Width,0)) imHorizontal.save('1_horizontal.jpg', 'jpeg') # 圖片豎向拼接:拼接上面im6、im7 imVertical = Image.new('RGB', (im6Width, im6Height*2)) imVertical.paste(im6, (0,0)) imVertical.paste(im7, (0,im6Height)) imVertical.save('1_vertical.jpg', 'jpeg')
總結(jié)
以上所述是小編給大家介紹的Python圖像處理庫(kù)Pillow常用使用方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
