Ich möchte meine .png und .jpg Dateien in Android-Projekt mit .webp ersetzen, um die App-Größe zu reduzieren.Bildgröße wird erhöht, wenn von jpg in webp mit Qualitätswert 100 konvertiert
Ich Verifizieren diese drei Fälle für jpg Umwandlung in webp (für beide .png und .jpg):
- Lossy mit 80% Qualität
- Lossy mit 100% Qualität
- Lossless
für Fall 1, Größe von ~ 30% reduziert wurde als
erwartetAber für die Fälle 1 und 2 wurde vergrößert signifikant (170KB von .jpg zu 470KB von .webp) anstatt zu sinken.
Befehl verwendet:
cwebp -q 100 input.jpg -o output.webp
Dies funktioniert gut mit .png Bilder für alle drei Fälle, in denen Größen reduziert werden, wenn umgewandelt .webp Format.
Aber das gleiche funktioniert nicht mit dem .jpg Bild? Ist die Größenreduktion abhängig von .jpg Bild? Wird die Größe bei der Konvertierung von .jpg/.png in .webp garantiert reduziert? Warum hat die Größe zugenommen?
Version von libwebp: libwebp-0.4.3 OS - Windows 64-Bit-
Wenn Sie verlustbehaftete Daten in verlustfreie oder verlustbehaftete Daten mit höherer Qualität als in die Eingabedatei konvertieren, erhalten Sie keine Qualität, aber die Dateigröße wird immer größer. – BladeCoder
Warum der Downvote? Ist es für mich offensichtlich zu wissen, dass verlustbehaftet bis verlustfrei Größe zunimmt? Oder wie würde ich wissen, JPG (Eingabe) Qualität ist weniger als die Qualität der Ausgabe (Fall 2 oben)? – userv
(Downvote ist nicht cool, stimme ich zu) Lossy und verlustfrei sind 2 verschiedene Dinge, es ist wie Äpfel und Orangen. Verlustfreie Komprimierungsalgorithmen geben das exakte Bild wieder, so dass die Ausgabedatei immer größer als verlustbehaftet ist. Das Problem ist, wenn Sie ein Bild nach JPEG (verlustbehaftet) komprimieren, fügt es Artefakte hinzu. Wenn Sie also versuchen, dieses JPEG-Bild in Png zu komprimieren (verlustfrei), codiert der verlustfreie Algorithmus jedes Artefakt, um es pixelgenau zu reproduzieren. Am Ende wird dieser Png noch größer sein, als wenn Sie ihn wegen der zusätzlichen Artefakte direkt von der Quelle codieren würden. – BladeCoder