Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Canvas: Richtig zeichnen

  Alt 20. Jun 2019, 22:10
Warum aber reicht es nicht aus, nur auf der Paintbox oder nur auf einer Bitmap zu zeichnen? Warum benötige ich beide?
Rein technisch gesehen würde dir das Zeichnen auf der Paintbox reichen. Allerdings um den Preis, dass das Oldschool-GDI-Zeichnen extrem inperformant ist. Das äußert sich dann in sichtbarem Flickern wenn das Canvas-Objekt ein WM_PAINT usw. empfängt.

Man zeichnet "DoubleBuffered" (den Begriff hast du sicher schon mal in Verbindung mit Forms gehört) aus Performancegründen. Canvas-Methoden wie LineTo, Polyline oder Rectangle führt man am besten in einem In-Memory-Bitmap aus, wo noch nichts durch die Grafikkarte gepumpt werden muss. Erst wenn das Bild dort fertig gemalt ist, kopiert man den ganzen Bildinhalt per BitBlt auf ein beliebiges Canvas.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat