지정된 위치에서 픽셀의 색상을 가져와야합니다. 몇 가지 조사 후 이것이 내가 가진 것입니다.
#include<windows.h>
#include<iostream>
int main()
{
HDC dc = GetDC(NULL);
COLORREF color = GetPixel(dc, 100, 100);
ReleaseDC(NULL, dc);
std::cout << GetRValue(color);
std::cout << GetGValue(color);
std::cout << GetBValue(color);
return 0;
}
오류가 발생하지 않지만 3 개의 이상한 문자가 표시됩니다 (여기에 복사하여 붙여 넣을 수없는 것 같습니다). 픽셀 색상을 성공적으로 얻으려면 어떻게해야합니까?
이것은 값을 인쇄하는 방식의 문제 일뿐입니다. 대신 이것을 시도하십시오
std::cout << static_cast<unsigned>(GetRValue(color)) << '\n';
GetRValue(color)
etc는 cout <<
문자로 해석 되는 바이트 값을 반환합니다 . 에 캐스팅하여 unsigned
그것을 강제로 cout <<
대신 정수 값을 출력 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다