소스를 다 설명 드리긴 어렵고, 힌트를 드리겠습니다.
1. TImage 라는 컴퍼넌트는 BMP 파일을 읽어서 메모리에 올릴 수 있습니다.
(TBitmap도 있지만 비트맵만 처리 가능하므로...)
TImage의 인스턴스를 Obj 라고 가정하고, 아래와 같이 코드를 짜면 됩니다.
Obj->Picture->LoadFromFile("읽을파일경로");
2. TImage 컴퍼넌트에 Canvas에 Pixel 속성에 접근하면 RGB 데이터를 얻을 수 있습니다.
예를 들어서, 읽어온 그림에 가로 10 픽셀, 세로 15 픽셀 위치의 색을 알고 싶다면?
Obj->Canvas->Pixels[10][15] 을 이용하면 됩니다.
속성이기 때문에 데이터를 넣거나 뺄 수 있습니다.
속성을 이용해서 픽셀 단위로 처리하므로 속도는 좀 느리지만, 원하시는 결과를 쉽게 얻을 수 있을 겁니다.
아래 비슷한 내용의 질문과 답변 있어서 링크를 달아드리니 참고하세요.
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=51080
임재관 님이 쓰신 글 :
: 안녕하십니까
:
: C++를 이용한 영상처리 기법을 공부하다가 너무 답답해서 질문을 드립니다.
:
: 24bit Bitmap file에서 RGB값들을 특정값이상이면 0혹은 255로 변환하는 프로그램을 짜려고 하는데 지식이 너무 없어
:
: 도움을 요청합니다.
:
: 또 Bitmap file이 약 700장 정도 되다보니 포토샾으로 하나하나 읽어서 처리할 수가 없어서 C로 읽어서 처리하려고 하니 고수분들께서 도움 주시면 감사하겠습니다.
|