Im Bereich der Bildverarbeitung sind "allgemeine Fehler in GDI" -Anormalitäten ein häufiges Problem. Dieses Problem, insbesondere wenn versucht wird, JPEG -Bilder in Speicherströme umzuwandeln, verwirrt die unscharfen Fehlerinformationen häufig die Entwickler.
Nach der Forschung wurde festgestellt, dass die Abnormalitäten aus dem Speicherflussvorgänge stammten. Das allgemeine Missverständnis ist, dass der Speicherfluss geschlossen werden kann, wenn das entsprechende Bildobjekt noch verwendet wird. Dies ist jedoch nicht der Fall.
Die Grundursache
Die Hauptursache des -Problems ist, dass die GDI (in .NET verwendet in .NET für die Bildverarbeitung) auf das Open -Speicher -Flussobjekt angewiesen ist, um Pixelinformationen aus dem Bild abzurufen. Wenn der Fluss geschlossen ist, kann GDI nicht auf die Pixel zugreifen, was zum Ausfall der Bildkonservierung führt.
Lösung
Um dieses Problem zu lösen, muss der Speicherfluss geöffnet werden, bis das Bild erfolgreich gespeichert wird. Dies kann in den folgenden Schritten implementiert werden:
Verwenden Sie Bilder erstellen, wobeiein offener Speicherfluss ist.
Image.FromStream(m)
Speichern Sie das Bild im Zielausgangsstrom, während der Speicherfluss m
geöffnet bleibt. Image.Save(stream, format)
m
Zusammenfassung m
Das Verständnis der Wechselwirkung zwischen dem Speicherfluss und dem GDI -Bildobjekt ist wichtig, um "allgemeine Fehler in GDI" zu vermeiden. Indem Entwickler dem Prinzip der Aufrechterhaltung der Öffnung des Speicherflusses während der Bildverarbeitung und -erhaltung der Bildverarbeitung und -konservierung aufrechterhalten werden, können Sie sicherstellen, dass der Prozess reibungslos ist und solche frustrierenden Probleme vermeiden. Das obige ist der detaillierte Inhalt vonWarum löst die JPEG-zu-MemoryStream-Konvertierung in GDI einen „allgemeinen Fehler' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!