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
[61503] 32비트맵색을 16비트맵색으로 변환시 버퍼에 넣은 색정보를 넣을때 질문
공부중 [lcw1984] 1077 읽음    2010-06-11 17:41
//비트맵을 만들었습니다.
Graphics::TBitmap *h_Bitmap = new Graphics::TBitmap();
long int px,py;
Word *pbmp;
h_Bitmap->Width = m_iTextWidth;
h_Bitmap->Height = m_iTextHeight;
h_Bitmap->PixelFormat = pf15bit;
//저장해놓은 이미지색을 만든비트에 넣는과정
for(int py = 0; py < m_iTextHeight ;py++);
{
pbmp =(Word * )h_Bitmap->ScanLine[py];//줄단위로 읽습니다.
for(px =0; px < m_iTextWidth;px++)
{
int j =0;
//...
.. // 이부분에 픽셀 하나당 의 값을 저장 해주어야 합니다.(저장 하는법을 모르겠어요)
s_Buff[j];<- 32비트이미지에서 16비트 이미지 로 변환 한 값을 넣어준 버퍼 값입니다.
j++;
}
}
델파이에서는
procedure TForm1.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  pbmp: PWordArray;
  px, py: Longint;
  Co1: Byte;
begin
  bmp := TBitmap.Create;
  bmp.Width := 320;
  bmp.Height := 240;
  bmp.PixelFormat := pf15bit; // 15비트로 바꿈(555)

  Co1 := 0;
  for py:=0 to bmp.Height-1 do
  begin
    Inc(Co1);
    pbmp := bmp.ScanLine[py];
    for px:=0 to bmp.Width-1 do
    begin
      // 픽셀 저장
      pbmp^[px] := RGB_TO_15B(Co1, 0, 0);
    end;
  end;
이렇해 된 것인데 pbmp^[px]  이의 해석이 이상하게 해깔립니다.
책을 찾아보구 뒤져 보았으나
pbmp: PWordArray; 이부분은 워드형 배열이라고 합니다.
pbmp^[px]이 뜻은 이해가 가지 않습니다.
pbmp 은 위에서 선언했듯이 워드형 배열입니다.
^ 는 포인터를 나타냅이다.
px 롱인트형 변수 입니다
이것을 합하여 보면
포인터배열[길이] 인지 아니면
pbmp 배열을 뒤에 나온 롱인트형으로 형을 변환 하라는 소리인지
도통 감이 오지 않습니다.
pbmp^[px]이부분을 설명해주시고 빌더로 변환하는 방법즘 알려주시면 감사하겠습니다

+ -

관련 글 리스트
61503 32비트맵색을 16비트맵색으로 변환시 버퍼에 넣은 색정보를 넣을때 질문 공부중 1077 2010/06/11
61507     Re:32비트맵색을 16비트맵색으로 변환시 버퍼에 넣은 색정보를 넣을때 질문 장성호 1183 2010/06/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.