|
//비트맵을 만들었습니다.
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]이부분을 설명해주시고 빌더로 변환하는 방법즘 알려주시면 감사하겠습니다
|