|
시간한줌 님이 쓰신 글 :
: 안녕하세여.
: 제 질문이 모호했나여? 죄송...
:
: jpg 또는 bmp 등 그림파일에서 RGB값을 읽었으면 합니다.
: 포토샾이나 페인트샾같이 마우스 포인터가 그림 위치에 가면 그림위치와 RGB값이 나오잖아여.
: 그 RGB값이 필요해요.
: 어딜 뒤져봐두 색깔 잡는 방법이 없어설... (공부를 열심히 안한탓두 있지만... )
:
: 정말 죄송... -.-;
:
: 그럼 다시한번 고수님의 힘을 믿습니다.
안녕하세요.
아래에서 임프님이 말한대로 Pixels[x][y] 하면 TColor값이 리턴됩니다.
그것을 가지고 작업하시면 됩니다.
TColor TempColor;
TempColor = Canvas->Pixels[x][y];
각각의 RGB값을 구하는 함수는 다음과 같습니다.
GetRValue(TempColor), GetGValue(TempColor), GetBValue(TempColor);
리턴값은 BYTE형입니다.
그리고, 님이 아래에서 말한대로 GetPixel API를 써도 됩니다. 모든 API는 빌더에서도
쓸 수 있다는것을 기억하세요.
COLORREF GetPixel(
HDC hdc, // handle of device context
int XPos, // x-coordinate of pixel
int nYPos // y-coordinate of pixel
);
위에서 보듯이 첫번째 인자로 캔버스의 핸들을 넘겨주면 됩니다.
GetPixel(Canvas->Handle, x, y); 하면 COLORREF형의 리턴값을 넘겨줍니다.
COLORREF는 0x00bbggrr형식의 값을 가집니다. 따라서, 비트연산을 하여 값을 구하면
될겁니다.
그럼...
|