Pillow ImageWin模塊(僅限Windows)

2021-07-15 17:32 更新

這個 ?ImageWin?模塊包含在Windows上創(chuàng)建和顯示圖像的支持。

ImageWin可以與pythonwin和其他用戶界面工具包一起使用,這些工具包提供對Windows設備上下文或窗口句柄的訪問。例如,tkinter通過winfo_id方法使窗口句柄可用:

from PIL import ImageWin

dib = ImageWin.Dib(...)

hwnd = ImageWin.HWND(widget.winfo_id())
dib.draw(hwnd, xy)
?classPIL.ImageWin.Dib(imagesize=None)?

具有給定模式和大小的Windows位圖。模式可以是“1”、“l(fā)”、“p”或“rgb”之一。

如果顯示需要調色板,則此構造函數(shù)創(chuàng)建合適的調色板并將其與圖像關聯(lián)。對于“L”圖像,分配128個灰度級。對于“rgb”圖像,使用6x6x6顏色立方體和20灰度。

要確保調色板在Windows下正常工作,必須調用 ?palette ?方法處理來自Windows的某些事件。

參數(shù)
  • image -- PIL圖像或模式字符串。如果使用模式字符串,還必須給出大小。模式可以是“1”、“l(fā)”、“p”或“rgb”之一。

  • size -- 如果第一個參數(shù)是mode字符串,則定義圖像的大小。

?draw(handledstsrc=None)?

與Expose相同,但允許您指定在何處繪制圖像,以及要繪制圖像的哪個部分。

目標區(qū)域和源區(qū)域以四元組矩形給出。如果省略源,則復制整個圖像。如果源和目標的大小不同,則會根據(jù)需要調整圖像的大小。

?expose(handle)?

將位圖內容復制到設備上下文。

參數(shù)

handle -- 設備上下文(hdc),強制轉換為python整數(shù),或者hdc或hwnd實例。在pythonwin中,你可以使用 CDC.GetHandleAttrib() 找到合適的句柄。

?frombytes(buffer)?

從字節(jié)數(shù)據(jù)加載顯示內存內容。

參數(shù)

buffer -- 包含顯示數(shù)據(jù)(通常是從 tobytes() 返回的數(shù)據(jù))

?paste(imbox=None)?

將pil圖像粘貼到位圖圖像中。

參數(shù)
  • im -- PIL圖像。大小必須與目標區(qū)域匹配。如果模式不匹配,圖像將轉換為位圖圖像的模式。

  • box -- 定義左、上、右和下像素坐標的四元組。見 坐標系 . 如果給出的不是元組而是一個元組,則假定所有圖像。

?query_palette(handle)?

在給定的設備上下文中安裝與圖像關聯(lián)的調色板。

此方法應在 Windows 的 querynewpalettechfaring 事件和 QUERYNEWPALETTE 事件上調用。如果此方法返回一個非零值,則會更改一個或多個顯示面板條目,并且應該重新繪制圖像。

參數(shù)

handle -- 設備上下文(hdc),強制轉換為python整數(shù),或者hdc或hwnd實例。

返回

如果更改了一個或多個條目,則為?True?(這表示應重新繪制圖像)。

?tobytes()?

將顯示內存內容復制到bytes對象。

返回

包含顯示數(shù)據(jù)的字節(jié)對象。

?classPIL.ImageWin.HDC(dc)?

包裝一個HDC整數(shù)。結果對象可以傳遞給 draw() 和 expose() 方法。

?classPIL.ImageWin.HWND(wnd)?

包裝hwnd整數(shù)。結果對象可以傳遞給 draw() 和 expose() 方法,而不是DC。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號