Thema: Delphi Image mit Alphawert

Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Image mit Alphawert

  Alt 25. Mai 2009, 08:08
PCanvas(@Canvas)^

Natürlich kann man einem Property, das nur "read" deklariert ist, nichts zuweisen.
Die Adresse eines Propertys gibt es nicht, da für "read" und "write" Methoden definiert sein könnten.
Die Adresse der Variable FCanvas lässt sich so nicht ermitteln.
WinControls unterstützen aber die Methode PaintTo.

BitBlt(LBitmap.Canvas.Handle, 0, 0, Width, Height, Canvas.Handle, 0, 0, SRCCOPY);

Mit dieser Anweisung erhältst man nicht den Hintergrund deines Steuerelements, sondern einfach den Inhalt des Bildschirmbereichs auf den das Steuerelement zu zeichenen ist. Dieser ist undefiniert, z.B. durch ein anderes Fenster das diesen Bereich vorher überdeckt hat oder durch das letzte OnPaint gezeichnet. Im besten Fall wurde dieser Bereich bereits durch WM_ERASEBKGND mit der Hintergrundfarbe gefüllt.
  Mit Zitat antworten Zitat