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
[42575] ScanLine 관련하여서 간단한 질문 드립니다.(고수분들 도와주세요)
사악도인 [danhang] 1275 읽음    2005-11-21 20:37
안녕하세요?
다름이 아니라 ScanLine Help파일을 보다가 의문점이 있어서 문의드립니다.

Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
// This example shows drawing directly to the Bitmap
  Byte *ptr;
  try
  {
    pBitmap->LoadFromFile("MyBitmap.png");
    for (int y = 0; y < pBitmap->Height; y++)
    {
      ptr = (Byte *)pBitmap->ScanLine[y];
      for (int x = 0; x < pBitmap->Width; x++)

        ptr[x] = (Byte)y;
    }
    Canvas->Draw(0,0,pBitmap);
  }
위내용은 아시다 시피 빌더 Help에 있는 내용입니다. 제가 이부분을 소스에 추가해서 디버깅을 해본결과,
ptr = (Byte *)pBitmap->ScanLine[y]; 이부분이 실행시에 ptr에는 디버깅으로 확인할때 null 값이 들어가 있다는
겁니다. 그리고 밑에 for 문에서 ptr[x] = (Byte)y;
y값을 ptr[x]에 Byte type으로 값을 넣는데
1. 왜 ScanLine으로 값을 읽어와서 ptr[x] = (Byte)y; 으로 값을 넣는지 잘 이해가 안갑니다.
    포인터 ptr이 ScanLine함수를 통해서 값을 읽어왔는데 왜 밑에서 다시 for 문을 돌려서 ptr에다 다시 값을 써는지?
2. 읽어온 값을 ptr[x] = (Byte)y; 왜 이렇게 써넣는지 궁금합니다.

별것도 아닌내용을 넘 길게 적어놨네요.. 민망합니다...^^;;;;
답변좀 부탁드리겠습니다.

+ -

관련 글 리스트
42575 ScanLine 관련하여서 간단한 질문 드립니다.(고수분들 도와주세요) 사악도인 1275 2005/11/21
42580     Re:ScanLine 관련하여서 간단한 질문 드립니다.(고수분들 도와주세요) civilian,안영제 1273 2005/11/21
42589         줄단위로 픽셀값을 읽어오는것 같은데.... 사악도인 990 2005/11/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.