Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
Delphi 12 Athens
|
Re: PaintBox bzw. Spectrum transparent machen?
28. Sep 2009, 14: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|