|
이렇게 쓰면 모든 픽셀을 가져 오기 때문에 메모리상 효율적이지 못해서
한 픽셀만을 가져오고 싶습니다. ㅎ
자답이지만 해결법을 찾았네요 ^^
HDC hDC = GetDC(0);
Int Color = GetPixel(hDC, 0, 0);
쥐르미온 님이 쓰신 글 :
: 바탕화면의 Canvas 객체를 얻으면 해결되는 문제이군요.
: 이럴 경우 Canvas 포인터를 만들고, Canvas의 Handle값에 스크린 전체의 핸들을 넣으면 됩니다.
:
: HDC ScreenHandle = GetDC(0); // GetDC의 parameter 0은 모니터 스크린 전체를 의미합니다.
: TCanvas *myCanvas = new TCanvas;
: myCanvas->Handle = ScreenHandle;
:
: 이렇게 하신 뒤에 원래 하고자 하시던 작업을 수행하시면 됩니다.
:
: 성제님과 같이 다음과 같은 작업을 하고 싶다면,
: : 특정 포인트의 픽셀을 뽑아 오고 싶은데요.
: :
: : Canvas->Pixels[12][12];
: 우리가 만든 코드에서는 myCanvas->Pixels[12][12];
: 를 추가로 입력해주면 화면상의 (12,12) 점의 값을 알 수 있겠지요. ^^
:
: 이성제 님이 쓰신 글 :
: : 바탕화면에서
: :
: : 특정 포인트의 픽셀을 뽑아 오고 싶은데요.
: :
: : Canvas->Pixels[12][12];
: :
: : 이렇게 하면 제 폼에 해당 하는 부분만 나오잖아요.
: :
: : 전체 화면을 해당 하게 하고 싶은데
: :
: : 어떻게 해야 할까요
|