ImageWin
模組 (僅限 Windows)¶
ImageWin
模組包含在 Windows 上建立和顯示影像的支援。
ImageWin 可以與 PythonWin 和其他提供 Windows 裝置內容或視窗控制代碼存取的使用者介面工具組一起使用。例如,Tkinter 透過 winfo_id 方法提供視窗控制代碼
from PIL import ImageWin
dib = ImageWin.Dib(...)
hwnd = ImageWin.HWND(widget.winfo_id())
dib.draw(hwnd, xy)
- class PIL.ImageWin.Dib(image: Image | str, size: tuple[int, int] | None = None)[原始碼]¶
具有給定模式和大小的 Windows 點陣圖。模式可以是 “1”、“L”、“P” 或 “RGB” 之一。
如果顯示器需要調色盤,此建構子會建立合適的調色盤並將其與影像關聯。對於 “L” 影像,會配置 128 個灰階。對於 “RGB” 影像,會使用 6x6x6 色彩立方體,以及 20 個灰階。
為了確保調色盤在 Windows 下正常運作,您必須在 Windows 的某些事件上呼叫
palette
方法。- 參數:
image – PIL 影像或模式字串。如果使用模式字串,則也必須給定大小。模式可以是 “1”、“L”、“P” 或 “RGB” 之一。
size – 如果第一個參數是模式字串,則這會定義影像的大小。
- draw(handle: int | HDC | HWND, dst: tuple[int, int, int, int], src: tuple[int, int, int, int] | None = None) None [原始碼]¶
與 expose 相同,但允許您指定繪製影像的位置以及要繪製的部分。
目標和來源區域以 4 元組矩形給出。如果省略來源,則會複製整個影像。如果來源和目標具有不同的大小,則會根據需要調整影像大小。
- expose(handle: int | HDC | HWND) None [原始碼]¶
將點陣圖內容複製到裝置內容。
- 參數:
handle – 裝置內容 (HDC),轉換為 Python 整數,或是 HDC 或 HWND 實例。在 PythonWin 中,您可以使用
CDC.GetHandleAttrib()
來取得合適的 handle。
- paste(im: Image, box: tuple[int, int, int, int] | None = None) None [原始碼]¶
將 PIL 影像貼到點陣圖影像中。
- 參數:
im – PIL 影像。大小必須符合目標區域。如果模式不符,影像會轉換為點陣圖影像的模式。
box – 定義左、上、右和下像素座標的 4 元組。請參閱座標系統。如果以 None 取代元組,則會假設使用所有影像。