python之PIL模塊基礎功能


Image主要是打開圖片后,對圖片進行編輯,主要有以下一些常用功能:

1、讀取並顯示圖片:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.show()

 

2、顯示圖片大小:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.size)

 

3、把圖片旋轉40度並顯示:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.rotate.show()

 

4、顯示圖片名稱(包含路徑):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.filename)

 

5、圖片縮小一倍(大概是這么算法):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.thumbnail((img.size[0]/2,img.size[1]/2))

 

6、圖片的像素點的縮放:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img_new = Image.eval(img,lambda x:x*2)
img_new.show()

 

7、圖片合成或融合:

from PIL import Image

#img1和img2大小要一樣,並且其一為透明的,否則只能看到一個圖片 PIL.image.alpha_composite(img1,img2)
#alpha表示透明度
PIL.image.blend(im1,im2,alpha)
PIL.Image.composite(im1,im2,mask)

 

8、創建並保存圖片:

from PIL import Image

#使用RGB模式創建一個黑色的圖形(還有L和RGBA模式)
img = Image.new('RGB',(x,y),(0,0,0))
#L模式創建圖形
img = Image.new('L',(x,y),255)
#RGBA模式創建圖形
img = Image.new('RGBA',(x,y),(0,0,0,255))
img.show()
img.save('img.png')
#查看模式
print(img.mode)

 

9、將圖片黑化(灰化):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.convert("L").show()

 

10、圖片的復制:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
#這里也可以直接賦值
#img1 = img img1 = img.copy()
img1.show()

 

11、獲取對應坐標的像素:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.getpixel(x,y))

 

12、粘貼一個圖片到另外一個圖片上:

from PIL import Image

#倆個圖片的mode要一致,不一致可以用convert轉換 img1 = Image.open("H:\\salary.png",'r')
img2 = Image.open("H:\\pig.png",'r')
img1.paste(img2,(50,15))
img1.show()

 

13、在給定圖片上划直線:

from PIL import Image
from PIL import ImageDraw img = Image.open("H:\\salary.png",'r')
draw = ImageDraw.Draw(img)
#傳入倆個元祖參數,第一個是直線的倆端點坐標,另外一個是RGB
draw.line((22,43,99,11),(150,150,150))
img.show()

 

14、在給定圖片上寫文字:

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont img = Image.open("H:\\salary.png",'r')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('segoeuib.ttf',20)
#傳入4個參數:文字開始坐標,文字,顏色以及字體(字體可以不傳入,使用默認字體)
draw.text((50,60),'Hello,world',(140,255,166),font = font)
img1.show()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM