Ich habe eine Bitmap, die ich erstellt habe, indem ich die gleiche Grafik mehrfach kacheln. Wenn die Bitmap erstellt wird, färbt sie die Kacheln anhand bestimmter Kriterien.C# winforms GDI +
Wenn das Bitmap geladen ist, möchte ich dem Benutzer dann die Optionen zum Ändern der Kachelfarben basierend auf weiteren vordefinierten Kriterien geben. Muss ich daher die aktuelle Bitmap verwerfen, neu mit den neuen Farben generieren und an das Panel anhängen. Oder kann ich die Bitmap für jede Kachel durchlaufen und die Farben auf diese Weise ändern?
Danke.
http://www.bobpowell.net/lockingbits.htm ist auch einen Blick wert, wenn Sie stattdessen "unsicheren" Code verwenden möchten (es wird ein bisschen schneller). – Josh
Ja, es gibt Möglichkeiten, die Leistung einer Pixel-für-Pixel-Operation auf einer Bitmap zu verbessern. Aber es gibt keinen Grund zu der Annahme, dass das schneller sein wird, als einfach die Bitmap zu regenerieren. –
Ich würde sagen, dass hängt davon ab, wie viel Speicherdruck der GC unter ist und wie viel des Bildes geändert werden muss. Wenn nur ein paar Stellen im Bild geändert werden müssen, ist es wahrscheinlich besser, die Pixeldaten zu ändern. Wenn die Änderung den größten Teil des Bildinhalts ändert, ist es wahrscheinlich, dass die Neugenerierung der Bitmap schneller ist. – Josh