Das Bitmap ist erstmal zu groß für das TImage, was man entweder durch setzen von Stretch := True oder AutoSize := True lösen kann;
Weiterhin sollte das TImage ebenfalls ein Transparent := True bekommen. Die TBitmap.TransparentXXX Eigenschaften wirken sich nur auf das Zeichnen aus, nicht auf den Inhalt der Bitmap.
Jetzt bin ich endgültig verwirrt. Ich habe Delphi neu gestartet und jetzt funktioniert es nicht mehr. Ausgabe:
(zumindest sieht man den König diesmal)
Es hatte doch grad noch funktioniert :/
Ich hab den Code zum Testen etwas abgeändert. Siehe:
Delphi-Quellcode:
procedure TForm1.Image1Click(Sender: TObject);
var b : TBitmap;
pxc: TColor;
hxc : string;
begin
b := TBitmap.Create();
b.LoadFromFile('Koenig_weiss.bmp');
b.TransparentColor := $FE5334;
b.Transparent := true;
Image1.Picture.Graphic := b;
// folgendes wird nicht ausgeführt, was keinen Sinn ergibt, da....
if (Image1.Picture.Bitmap.Canvas.Pixels[0, 0] = $FE5334) then ShowMessage('toll');
pxc := Image1.Picture.Bitmap.Canvas.Pixels[0, 0];
hxc := IntToHex(ColorToRGB(pxc), 6);
ShowMessage(hxc);
// ...das hier #5334FE (hex) zurückgibt, was ja $FE5334 (delphi) ist
end;
Hättet ihr vielleicht noch eine Idee?
(Und ja, ich muss eine Bitmap verwenden)
(Beim Image ist stretched true und Transparent true)