Bei Pixels fehlt der Alphawert, wo ist der hingekommen ?
Bei der Bitmap handel es sich um eine 8x8x32 Bitmap.
Das die Werte um 8Bit verschoben sind kann ich noch verstehen, das aber immer 00xxxxxx kommt ?
Code: Alles auswählen
procedure TForm1.Button3Click(Sender: TObject);
var
Bitmap: TBitmap;
x, y: integer;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('verkleinert40.bmp');
Writeln(Bitmap.PixelFormat);
Writeln(#13#10'Pixels:'#13#10);
for y := 0 to Bitmap.Width - 1 do begin
for x := 0 to Bitmap.Height - 1 do begin
Write(IntToHex(Bitmap.Canvas.Pixels[x, y], 8), ' ');
end;
end;
Writeln(#13#10'RawImage.Data:'#13#10);
for x := 0 to Bitmap.RawImage.DataSize - 1 do begin
Write(IntToHex(Bitmap.RawImage.Data[x], 2));
if x mod 4 = 3 then begin
Write(' ');
end;
end;
Canvas.Draw(0, 0, Bitmap);
Bitmap.Free;
end;
Code: Alles auswählen
pf32bit
Pixels:
00000000 00010000 00070102 00121414 001D2926 00050707 00000000 00000000
002B403C 00427D70 00397A6A 0031806C 0052B29D 00273935 00000101 00020302
0053A18F 00057456 000D644B 001E6758 00479380 00344341 00000000 00020302
004D9384 002F7762 00285A55 00265C53 00257862 00285B4D 00101413 00010101
004F8176 0045A48D 00379687 001E6859 001C6450 00407D6E 00101111 00000101
0066BDA9 00258E75 00308A77 001B8268 0024705B 0042917E 0022332F 00000000
001B2523 003D5A53 00378976 00377170 00253D37 00212C2A 000C100F 00000000
00000000 00000000 002E3637 008CA9B9 00262F2F 00000000 00000000 00000000
RawImage.Data:
00000000 01000000 07010200 12141403 1D29261C 05070703 00000000 00000000
2B403C35 427D7087 397A6A9B 31806CBA 52B29DD9 27393527 00010101 02030202
53A18FB9 057456FF 0D644BFF 1E6758FF 479380C8 34434122 00000000 02030202
4D9384A3 2F7762D5 285A55F6 265C53FB 257862E8 285B4DA3 1014130A 01010101
4F817672 45A48DD7 379687FA 1E6859FC 1C6450F5 407D6E9E 10111107 00010101
66BDA9CB 258E75FF 308A77FF 1B8268FF 24705BFF 42917ED4 22332F2C 00000000
1B252316 3D5A533F 378976DD 377170E5 253D3748 212C2A22 0C100F0B 00000000
00000000 00000000 2E363720 8CA9B9B9 262F2F1B 00000000 00000000 00000000