Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#5

Re: PaintBox bzw. Spectrum transparent machen?

  Alt 28. Sep 2009, 13:36
das mit dem BackImage war nur ein Beispiel ... kenn die Komponente ja nicht,

aber ges geht halt darum, daß du erst den Hintergrund (keine Farbe, sondern ebem ein Bild dem Style entsprechend) neu zeichnen mußt und dann darauf dann das Spectrum.

Da die PaintBox ja nun keinen Puffer hat und demnach immer alles sofort gezeichnet wird, gibt es also immer eine kurze Phase, wo nur der Hintergrund da ist und dann das Spectrum neu gezeichnet wird ... ergo, es blinkt.

Lösung wären:

- Erstmal alles in ein temporäres Bitmap reinzeichnen und das Bitmap dann nur noch komplett auf die PaintBox kopieren

- Oder nur die Änderungen zeichnen ... also z.B. zu kurze Balken (im Verhältnis zum vorherigen Bild) des Specktrums verlängern und da den jeweiligen Balken neu zeichnen.
Und zu lange Balken verkürzen, also nur an diesen Stellen den Hintergrund reinkopieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat