1

最近我开始使用 PIL 和 AutoPy 来自动化一些任务。AutoPy 需要的核心功能之一是它的速度非常快(虽然有问题,但有修复- 从源代码构建和安装可能很烦人,如果你得到错误Unable to find vcvarsall.bat,只需谷歌它)。

但是刚才我遇到了一个我找不到解决办法的问题。PIL 和 AutoPy 使用根本不同的屏幕截图格式。对于 AutoPy,我无法让它在多个屏幕上工作,但对于 PIL,我很容易做到。现在我需要将这些图像转换为 AutoPy 接受的格式——并且在合理的时间内。

理论上可能的解决方案:

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

根据我的测试,这大约需要 0.5 秒才能完成。远远超过我需要的 0.1 秒。

4

1 回答 1

1

我翻遍了文档,找到了一个位图图像转换工具。

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() 创建了一个图像进行比较,没有所有的格式。

于 2017-02-17T02:58:08.563 回答