Entwickler-Ecke
Multimedia / Grafik - Speicher-Zugriff auf die Pixel eines DeviceContext
Andreas Pfau - Sa 18.08.07 19:05
Titel: Speicher-Zugriff auf die Pixel eines DeviceContext
Hi,
lange her seit meinem letzten Posting hier bei AUQ ( ;) )... nun denn, ich brauche Hilfe!
Ich hab mir eine Bildschirmschoner geschrieben, der mittels pixelweiser Manipulation einen Grafikeffekt erzeugt (ähnlich "Schleifen" von Vista). Dazu habe ich ein Bitmap, welches ich über Speicherzugriffe (TBitmap.ScanLine[]) manipuliere und danach auf den DC des Forms kopiere. Leider ist das sehr langsam.
Da ich das Alte Bild nur überzeichen brauche ich aber eigentlich keine 2 Puffer (Bitmap und DC), und es ist so auch seeeehr langsam, das Buffer-Kopieren nimmt einen Großteil der Rechenzeit ein. Allerdings habe ich auf den DC keinen Speicherzugriff... kann man irgendwie per API auf den Speicherbereich eines DC zugreifen, also auf einen Pointer der die Pixel angibt?
Ansonsten... falls jemand von euch ne bessere Idee hat, das Proggi zu beschleunigen...
BenBE - Sa 18.08.07 20:33
Erzeuge dein Tmp-Bitmap mit CreateCompatibleDC, damit sollte das Konvertieren zwischen verschiedenen Pixelformaten beim Übertragen vom Temp--BMP in den DC vermieden werden.
Ferner: Wie kopierst Du? DrawBitmap, BitBlt oder andere Methode?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!