![]() |
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Zitat:
|
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Aber wenn ich so zwischen deinen Zeilen lese, würde ich sagen, dass ScanLine wesentlich schneller ist. Aber ich werde es testen in einem TestProg.
Danke Alex |
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Hier das Ergebnis bei einem Bild mit 1024 x 768 Auflösung und 32 bit Farbtiefe:
Scanline 08:54:53´093 08:54:53´109 Pixels 08:56:48´093 08:56:48´546 Wie man sieht ist da ein ganz schöner Unterschied. Danke nochmal MFG Alex |
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Eine schnelle Methode ist noch:
Bitmap mittels Scanline in ein 1-Zeiliges (3 Dimensionen) Array zu schreiben und die Daten im Array zu manipulieren. Eine schnellere Methode ist mir nicht bekannt... |
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Wozu denn noch umkopieren? Mit dem Scanline-Zeiger auf (0|0) hast du doch quasi schon dein Array. Und wenn du diesen noch in einen Zeiger auf ein array[0..0] of TRGBQuad umwandelst, kannst du sogar genauso wie auf jedes andere Array zugreifen.
|
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Ganz einfach: Du sparst Dir in zukunft die y-schleife. Und rast nur in x richtung.
|
Re: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Wie, denkst du, könnten denn die Zeilen eines Bitmaps im Speicher verteilt sein? Genau, direkt hintereinander[*]. Es ist also überhaupt kein Problem, das zweidimensionale Bitmap als eindimensionales Array zu interpretieren - ganz ohne Kopiererei.
[*]Gutgut, zwei Ausnahmen gibt es: Der Stride der Zeile (auch Scan Width genannt) könnte größer als die reine Zeile sein, außerdem können die Zeilen auch andersherum angeordnet werden - ein "bottom-up bitmap". Solange man aber das Bitmap selbst mit 32 Bit erstellt, kann man diese Sonderfälle ausschließen. |
AW: Schnellerer Zugriff als Bitmap.Canvas.Pixels
Thread verwechselt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz