2016-12-05 108 views
1

最近我開始使用PIL和AutoPy一起工作來自動完成一些任務。 AutoPy需要的核心功能之一是其令人驚訝的快速(雖然有錯誤,但有fixes - 從源代碼的構建和安裝可能很煩人,如果你得到錯誤Unable to find vcvarsall.bat,只是谷歌它)。將PIL圖像轉換爲自動位圖?(並返回)

但是剛纔我遇到了一個問題,我找不到解決辦法。 PIL和AutoPy爲截圖使用基本不同的格式。對於AutoPy我不能讓它與多個屏幕一起工作,但對於PIL我很容易。現在我需要將這些圖像轉換爲AutoPy接受的格式 - 並在合理的時間內完成。

一個theoratically可能的解決方案:

def test(): Img = Image.open("example.png") Img.save("test.png") Img2.open("test.png")

通過我的測試中去,這大致需要大約0.5秒即可完成。遠遠超過了我需要的0.1秒。

+0

你有沒有找到解決方案?我有完全一樣的問題!如果你找到了解決方案,我希望你有時間分享它:-) – Vingtoft

回答

0

我在文檔中找到了一個位圖圖像轉換工具。

pil_im = Image.open("test.png") 
pil_im = pil_im.convert(mode ="1") 
#this is to prevent a value error in the tobitmap function 

pil_im = pil_im.tobitmap(im) 

我之前有一個類似的問題,其中pyautogui截圖與最近打開的png不相同。 pil_im.copy()創建一個圖像進行比較,沒有所有的格式。

+0

非常感謝,我不需要這麼做,而且你也只是晚了一點,我最終通過改變方式避開了這個問題capture_screen函數輸出的圖像在源中被裁剪的方式。但我已經知道這將在未來有用。 – JeWe37