Behandeln von Ausnahmen beim Speichern von Bildern: MemoryStream- und Bitmap-Interaktion
Das Speichern von Bildern, die aus Speicherstreams erstellt wurden, kann manchmal zu Ausnahmen führen, wenn der Stream vorzeitig geschlossen wird. In diesem Artikel wird die korrekte Handhabung von MemoryStream
- und Bitmap
-Objekten erläutert, um diese Fehler zu verhindern.
Ein MemoryStream
kann offen bleiben, ohne dass es zu Problemen kommt. Die Ausnahme entsteht, wenn der Stream geschlossen wird, während das zugehörige Bitmap
noch verwendet wird. Dies liegt daran, dass der Bitmap
-Konstruktor den Besitz des Streams übernimmt.
In der Konstruktordokumentation heißt es ausdrücklich, dass der Stream für die Dauer der Existenz von Bitmap
geöffnet bleiben muss. Daher ist das manuelle Schließen von MemoryStream
nicht nur unnötig, sondern auch problematisch.
Die Lösung besteht darin, sich auf die ordnungsgemäße Entsorgung des Bitmap
Objekts zu konzentrieren. Durch die Veräußerung des Bitmap
wird das zugrunde liegende MemoryStream
automatisch geschlossen. Dieser einfache Schritt verhindert effektiv die Ausnahme.
Das obige ist der detaillierte Inhalt vonWie vermeide ich „Behandelte Ausnahme bei der Bilderstellung: Speichern von Bildern mit geschlossenen Speicherströmen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!