C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[4140] Re:[재질문] jpg 또는 bmp에서 색깔 잡기!
홍성진 [] 3294 읽음    2000-10-04 00:00
시간한줌 님이 쓰신 글 :
: 안녕하세여.
: 제 질문이 모호했나여? 죄송...
:
: 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형식의 값을 가집니다. 따라서, 비트연산을 하여 값을 구하면
될겁니다.

그럼...




+ -

관련 글 리스트
4139 [재질문] jpg 또는 bmp에서 색깔 잡기! 시간한줌 3224 2000/10/04
4140     Re:[재질문] jpg 또는 bmp에서 색깔 잡기! 홍성진 3294 2000/10/04
4143         [인사] 감샤감샤 *^^* 열씨미 할께여 [ 내용 무] 시간한줌 3184 2000/10/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.