Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: TCanvas.Pixels[] optimieren - Wer hilft mit?

  Alt 24. Mär 2009, 21:27
Hallo.

Da ein TImage mehrere Typen haben kann, ist Picture.Bitmap.Canvas ja gar nicht so toll. Und Picture.Canvas hat ein anderes verhalten. Wenn man dort auf Pixels[] zugreift (auch lesend), dann wird das ganze Bild weiß, wenn es vorher nicht gesetzt wurde.

Mir läge es eben wie gesagt daran, Pixels[] zu optimieren, da es ja scheinbar mit Scanlines nahezu gut funktioniert (aber wenn das 1x Anwenden von Scanlines dann eben nochmal schneller, aber vom Code her komplizierter, ist). Das blöde ist, dass man eben genau wissen muss, wie diese 1-Bit, 4-Bit, Custom-Bit Dinger intern aufgebaut sind... Wäre ja auch eigentlich eine Sache für Borland/CG, Pixels[] so performant wie möglich zu gestalten.

OK, Class helpers wären wie ich ja bereits angemerkt hatte, eine gute Idee, aber da muss ich mich erstmal reinarbeiten. Außerdem geht es ja dann mit Delphi 7 auch nicht mehr. Sagen wir mal, ich würde TBitmap (oder besser gleich TCanvas?) ableiten ... dann müsste ich ja TImage und/oder TBitmap nochmal neu schreiben und alle TCanvas mit TFastCanvas ersetzen... Wäre das nicht ungünstig? (Will endlich mal Mehrfachvererbung nutzen )

// Edit: Ja, mit TImages ist das so eine Sache. Was ist, wenn ich gerne Bitmaps laden+bearbeiten+speichern will, anstelle sie nur darzustellen? Was soll man denn stattdessen verwenden? (Sag jetzt bitte nicht, ich soll die Datei gleich binär ändern )

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat