2016-12-05 3 views
1

최근 필자는 일부 작업을 자동화하기 위해 AutoPy와 함께 PIL 작업을 시작했습니다. AutoPy가 필요로하는 핵심 기능 중 하나는 놀라 울 정도로 빠릅니다 (버그는 있지만 버그가 있지만 fixes). 소스에서 빌드하고 설치하면 성가신 일이 생길 수 있으며, 오류가 발생하면 Unable to find vcvarsall.bat을 Google에 보내면됩니다.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