Schneidet ein PNG-Bild auf seine minimale Größe

7

Wie schneidet man den leeren Randbereich eines PNG-Bildes ab und verkleinert es mit Python auf seine Mindestgröße?

    
jack 15.12.2009, 05:52
quelle

5 Antworten

13
___ answer11555094 ___

Ссылка

%Vor%     
___ qstntxt ___

Wie schneidet man den leeren Randbereich eines PNG-Bildes ab und verkleinert es mit Python auf seine Mindestgröße?

    
___ answer44703169 ___

Ich hatte heute das gleiche Problem. Hier ist meine Lösung, um die transparenten Grenzen zu beschneiden. Werfen Sie dieses Skript einfach in Ihren Ordner mit Ihren Batch-PNG-Dateien:

%Vor%     
___ answer190568 ___

PIL getbbox funktioniert für mich

  

im.getbbox () = & gt; 4-Tupel oder Kein

     

Berechnet die Begrenzungsbox des   Nicht-Null-Regionen in dem Bild. Das   Bounding Box wird als 4-Tupel zurückgegeben   Definieren der linken, oberen, rechten und   untere Pixelkoordinate. Wenn das Bild   ist völlig leer, diese Methode   gibt None zurück.

Code Beispiel, das ich ausprobiert habe, habe ich mit bmp getestet, aber es sollte auch für png funktionieren.

%Vor%     
___ tag123image ___ Das Bild-Tag ist für Fragen im Zusammenhang mit dem Laden, Formatieren, Speichern, Komprimieren und Anzeigen von Bildern im Kontext des Quellcodes gedacht. Dieses Tag sollte auch zur Unterstützung verschiedener Bildbibliotheken verwendet werden. Fragen zu bestimmten Bildformaten sollten die Tags für diese Formate enthalten. ___ qstnhdr ___ Schneidet ein PNG-Bild auf seine minimale Größe ___ tag123png ___ PNG (Portable Network Graphics) ist ein Bilddateiformat zum Speichern von Rastergrafiken. Es ist mit der Dateierweiterung ".png" verknüpft. Verwenden Sie dieses Tag für Fragen zu diesem bestimmten Format. ___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ answer1905455 ___

Sie können PIL verwenden, um Zeilen und Spalten Ihres Bildes zu finden, die ausschließlich aus Ihrer Rahmenfarbe bestehen.

Mit diesen Informationen können Sie die Ausdehnung des eingelegten Bilds leicht bestimmen.

Mit PIL können Sie dann das Bild zuschneiden, um den Rand zu entfernen.

    
___ answer35707447 ___

Ich denke, es ist notwendig, @Frank Kruegers Antwort zu ergänzen. Er macht einen guten Punkt, aber es enthält nicht, wie man zusätzliche Randfarbe aus einem Bild richtig zuschneidet. Ich fand das hier . Insbesondere fand ich das nützlich:

%Vor%     
___
YOU 15.12.2009, 06:09
quelle
3

Ссылка

%Vor%     
noj 19.07.2012 06:29
quelle
2

Ich hatte heute das gleiche Problem. Hier ist meine Lösung, um die transparenten Grenzen zu beschneiden. Werfen Sie dieses Skript einfach in Ihren Ordner mit Ihren Batch-PNG-Dateien:

%Vor%     
Ícaro Magalhães 22.06.2017 15:06
quelle
1

Sie können PIL verwenden, um Zeilen und Spalten Ihres Bildes zu finden, die ausschließlich aus Ihrer Rahmenfarbe bestehen.

Mit diesen Informationen können Sie die Ausdehnung des eingelegten Bilds leicht bestimmen.

Mit PIL können Sie dann das Bild zuschneiden, um den Rand zu entfernen.

    
Frank Krueger 15.12.2009 06:05
quelle
0

Ich denke, es ist notwendig, @Frank Kruegers Antwort zu ergänzen. Er macht einen guten Punkt, aber es enthält nicht, wie man zusätzliche Randfarbe aus einem Bild richtig zuschneidet. Ich fand das hier . Insbesondere fand ich das nützlich:

%Vor%     
AaronJPung 29.02.2016 19:02
quelle

Tags und Links