Ich muss das Bild im laufenden Betrieb bearbeiten (die Höhe vergrößern). Die Datei ist meist 5000 * 4000 in der Dimension. Ich sehe, dass der Speicher bis zum Höchststand schießt, wenn ich ein BMP mit großen Dimensionen erstelle und die Graphics.DrawImage-Methode für die bmp-Instanz aufruft.
Wie entferne ich die Ausnahme wegen nicht ausreichendem Speicher? Gibt es eine Möglichkeit, mit großen Bitmaps in c # zu arbeiten?
?Das Problem ist die enorme Speichermenge, die für den Vorgang benötigt wird. Sie nehmen einige GigaBytes, also könnte die Lösung darin bestehen, einen Stream zu verwenden und die Datei in Blöcken zu verarbeiten.
Oder die beste Option wäre, eine Third-Party-Bibliothek dafür zu verwenden. Unten sind einige für .Net
Sehen Sie sich auch diese SO-Frage an.
Es hängt von Ihren anwendungsspezifischen Anforderungen ab, es ist nicht sehr klar von Ihrer Post, aber generell, mit großen Mediendateien (Bilder, Sounds, Videos) arbeiten Ich denke, eine wirklich gute Lösung ist
Speichern Sie Ihr Bild auf der Festplatte in einer Memory-Mapped-Datei und ändern Sie die Größe auf der Festplatte, indem Sie so viel RAM wie möglich von vielen Daten, die Sie wahrscheinlich nicht benötigen, um einen schnellen Zugriff zu haben Moment mindestens)
Hoffe, das hilft. Grüße.
Tags und Links c# memory-management gdi+