• Hallo!

    Ich hab folgendes Problem: Ich möchte ein Bild mittels GDI+ in den Speicher laden. Danach speicher ich mir die Pixeldaten in meiner Datenstruktor (linear im Speicher) indem ich alle Pixel einzeln rüberkopier und dann mach ich weiter mit meiner Datenstruktur. Das Problem ist, dass es schon eine Zeit braucht, auch wenn ich den Algorithmus schon sehr optimiert habe. Jetzt bin ich aber zu der Idee gekommen, dass ich einfach den Daten-Pointer von der Instanz der Klasse "Bitmap" von der GDI+ mittels LockBits und UnlockBits hole und meinen Pointer einfach auf diesen Speicher zeigen lasse. Die Struktur ist genau dieselbe, und es funktioniert auch. Somit hab ich eine echt extreme Zeitersparniss, trotzdem funktionierts nicht wirklich.. Das Problem ist jetzt, dass das "Bitmap" Objekt wieder gelöscht wird und der Speicher nicht mehr reserviert ist und mit der Zeit schreib ich irgendwann mal auf verbotenem Speicher und alles endet in einer AccessViolation. Mein Code zur veranschaulichung:



    In der Schleife wird normalerweise kopiert, aber ich möchte ja nur den Pointer haben, damits schneller geht (auskommentiert).
    Die Frage ist jetzt: Wie kann ich mir den Pointer holen, sodass der Speicher nicht wieder für alle beschreibbar wird? Sozusage den Speicher wieder reservieren? ich wüsst nichtmal, wonach ich im Google dafür suchen sollte. Bitte um Rat.

    640K ought to be enough for anybody. :eek2:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!