官方手冊地址:http://effbot.org/imagingbook/image.htm Image模塊 圖像模塊提供了一個具有相同名稱的類,用於表示一個PIL的圖像。該模塊還提供了許多功能,包括載入圖片文件函數和創建新的圖像函數。 模塊示例: 下麵的程式載入一個圖像,再旋轉45度,並使用一個外 ...
官方手冊地址:http://effbot.org/imagingbook/image.htm
Image模塊
圖像模塊提供了一個具有相同名稱的類,用於表示一個PIL的圖像。該模塊還提供了許多功能,包括載入圖片文件函數和創建新的圖像函數。
模塊示例:
下麵的程式載入一個圖像,再旋轉45度,並使用一個外部查看器(通常在Unix上的xv[1],在Windows上的看圖程式[2])顯示它。
1 # 打開,旋轉,展示一張圖片(使用預設查看器) 2 from PIL import Image 3 im = Image.open("bride.jpg") 4 im.rotate(45).show()
下麵的程式將在當前目錄中創建所有JPEG圖像的縮略圖(尺寸:128 x128)。
1 # 創建縮略圖 2 from PIL import Image 3 import glob, os 4 5 size = 128, 128 6 7 for infile in glob.glob("*.jpg"): 8 file, ext = os.path.splitext(infile) 9 im = Image.open(infile) 10 im.thumbnail(size, Image.ANTIALIAS) 11 im.save(file + ".thumbnail", "JPEG")
模塊函數:
new
Image.new(mode, size) ⇒ image
Image.new(mode, size, color) ⇒ image
使用給定模式(mode)和大小(size)創建一個新的圖片。大小(size)使用的是(寬度、高度)二元組,並以像素為單位。對於單通道圖像,顏色(color)使用單一值;對於多通道圖像,顏色(color)使用多元組(每通道使用一個值)。1.1.4及之後版本中,您還可以使用顏色名稱(有關詳細信息,請參閱ImageColor模塊文檔)如果省略顏色參數(color),圖像使用零填充(這通常對應於黑色)。如果顏色為空(None),圖像不會進行初始化。如果你打算在一幅圖像上粘貼或描繪一些東西,這可能是有用的。
1 from PIL import Image 2 im = Image.new("RGB", (512, 512), "white")
open
Image.open(file) ⇒ image
Image.open(file, mode) ⇒ image
打開並識別給定的圖像文件。這是一個便利的操作,函數讀取文件頭,但直到你嘗試處理數據,實際圖像數據才會從文件中讀取(調用load方法可以強制載入)。如果模式參數(mode)要求賦值,它必須是“r”。
你可以使用一個字元串(代表文件名)或一個文件對象作為文件參數(file)。在後一種情況下,文件對象必須實現read、seek,以及tell方法,並要求以二進位模式打開。
1 from PIL import Image 2 im = Image.open("lenna.jpg")
1 from PIL import Image 2 from StringIO import StringIO 3 4 # read data from string 5 im = Image.open(StringIO(data))
未完,待續...
註解:
[1] 暫還不理解Unix上的xv表示什麼?應該也是一個顯示圖像的工具。您要是知道表示什麼,可以在評論區告知,對您的告知表示感謝。
[2] 在Windows 7(虛擬機)上運行該段代碼 ,Windows照片查看器沒能打開圖片,提示圖片不存在;第三方看圖工具Picasa可以打開圖片,具體原因不詳。