Korrigierte PNGs wurden behoben, bei denen der IEND-Block fehlte

4111
Titan

Ich habe .pngDateien von einem Tool ausgegeben, das .emfs in .pngs konvertiert, aber den IEND-Block nicht am Ende hinzufügt.

Daher werden andere Tools wie ImageMagick nicht in die Nähe von ihnen gehen, wenn sie sie als fehlerhaft erkennen:

> pngcheck test.png test.png file doesn't end with an IEND chunk 

Ich kann die .pngGeldstrafe jedoch in Desktop-GUI-Bildanwendungen öffnen. Daher ist es meine aktuelle Problemumgehung, sie in diesen Anwendungen (z. B. Preview.app) zu öffnen und das Bild erneut zu exportieren, das dann mit den richtigen Kopfzeilen gespeichert wird.

Dies ist offensichtlich nicht skalierbar und ich brauche etwas, um serverseitig automatisiert zu arbeiten.

Wie gehe ich vor, um die Bilder zu reparieren, vorzugsweise mit einer Methode, die automatisiert werden kann und serverseitig ausgeführt werden kann, z. B. mit Python?

Dies ist das fragliche Bild.

1

1 Antwort auf die Frage

0
Titan

Schaffte dies in Python mit:

from PIL import Image file_in = "test.png"  img = Image.open(file_in)  file_out = "test-fixed.png"  img.save(file_out) 

Benötigt PIL / Kissen pip install Pillow

Dieser Thread wurde gestoßen, da er keine akzeptierte Antwort hat. Die Frage wurde als Produktanfrage geschrieben und erhält daher enge Stimmen. Vielleicht möchten Sie Ihre eigene Antwort akzeptieren. fixer1234 vor 5 Jahren 1