|
델파이에서 꺽쇠는 포인터를 의미합니다.
델파이에서
pbmp^[px] := RGB_TO_15B(Co1, 0, 0);
위 코드는
그냥 다음과 같이..
*pbmp[px] = RGB_TO_15B(Co1, 0, 0);
그럼..
공부중 님이 쓰신 글 :
: //비트맵을 만들었습니다.
: 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]이부분을 설명해주시고 빌더로 변환하는 방법즘 알려주시면 감사하겠습니다
|