파이썬에서 win32를 이용하여 특정 픽셀의 색상을 가져오려고 하는데 잘 안되네요 ,,

조회수 964회
//
import win32api
import win32gui
import win32con
import win32gui
from re import match

def get_pixel_col():
    print 'x,y?'
    s=raw_input()
    if match('\d+,\d+',s):
        x,y=s.split(',')
        x=int(x)
        y=int(y)
        mouse_click(x,y)
        hwnd=win32gui.WindowFromPoint((x,y))
        hdc=win32gui.GetDC(hwnd)
        x1,y1=win32gui.ScreenToClient(hwnd,(x,y))
        color=win32gui.GetPixel(hdc,x1,y1)
        win32gui.ReleaseDC(hwnd,hdc)
        print (color)
    main()

def main():

    get_pixel_col()

main()

이미지

코드는 다음과 같고 간단한게 화면에 특정픽셀 색상을 가져오려고 하는데 잘안되네요,, 같은값만 출력되네요,

이미지처럼 파워포인트로 색상 테스트를 진행하였는데 동그라미 3개의 색상이 다 똑같이 나오네요,,

혹시 잘못된점이나 , 색상을 가져오는 방법이 있을까요?

  • 프로그램을 그 위치에 가져다 놓으면 색상 구분을 하는 거 같은데 파워포인트나 그림판으로는 구분을 못하네요..
  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 디버깅을 해보면 원인을 알 수 있습니다. 마우스 클릭 함수가 제대로 실행되었나요? 마우스 클릭 위치의 윈도우 핸들을 맞게 받아오나요? 디버깅을 통해 원인을 찾기 바랍니다. 정영훈 2019.5.3 18:30

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)