Wie kann ich ein Bild als PNG oder JPG-Datei mit einer bestimmten Größe der Ausgabedatei speichern? (Pref. In C #)

StackOverflow https://stackoverflow.com/questions/421056

  •  05-07-2019
  •  | 
  •  

Frage

Ich mag ein vorhandenes Bild als PNG oder JPG bei einer bestimmten Dateigröße speichern, zB 100 KB.

War es hilfreich?

Lösung

PNG verwendet verlustfreie Komprimierung, so dass Sie es unter einem bestimmten Wert nicht komprimieren können.

In .NET können Sie eine JPG mit Kompression speichern, und erraten, wie groß die Datei sein wird, wenn sie abgeschlossen ist.

http: // msdn.microsoft.com/en-us/library/system.drawing.image.save(VS.80).aspx - Vgl. Das "Save JPEG-Bild mit Kompressionswert" -Abschnitt

Auch könnten Sie die Bildgröße skalieren, um es kleiner zu machen.

Andere Tipps

Nur bei Verwendung von JPG 2000 Sie die Dateigröße auf einen bestimmten Wert einstellen könnten. JPG verwenden, werden Sie unterschiedliche Qualitätswerte versuchen haben und mit PNG werden Sie eine Größe für ein gegebenes Bild und einer Komprimierungsstufe erhalten -. Sie können nur die Größe des Bildes versuchen, die Sie eine kleinere Größe geben

Sie können auch versuchen, die Größe des Bildes, so dass ein unkomprimiertes Bild, um die Größe haben, würden Sie wollen, aber dann PNG und JPG besonders haben oft eine viel geringere Dateigröße.

Für PNG gibt es nicht wirklich eine Qualitätseinstellung, so kann man nicht wirklich um die Dateigröße steuern.

Jpg hat eine Qualitätseinstellung, die bestimmt, wie gut eine Qualität das Bild sein wird. niedrigere Qualitätseinstellungen führen zu kleineren Dateien. Allerdings gibt es normalerweise keine Option für „die Qualität für eine Datei mit einer Größe x benötigt geben“.

Sie können das gleiche Ergebnis mit einem eher ineffizient Ansatz der Umwandlung zu jpg im Speicher erreichen, zu sehen, wie groß ist die Ausgabe, die Anpassung die Qualität nach oben oder unten und wiederholen, bis man nahe genug bekommen. Es könnte schrecklich klingen, aber wenn Sie Ihre Bilder nicht zu groß sind, können Sie niemand bemerkt die kurze Verzögerung zu finden, während Sie dies tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top