Einzelnen Beitrag anzeigen

Kevinpptx

Registriert seit: 10. Okt 2022
Ort: Sachsen
27 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Transparenz-Farbe von TImage ändern

  Alt 27. Apr 2024, 16:42
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:
ausgabe.png (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)

Geändert von Kevinpptx (27. Apr 2024 um 16:51 Uhr)
  Mit Zitat antworten Zitat