Erstellen Sie ein Bildformatprogramm mit Pillow in Python3.3 Holen Sie sich automatisch Breite und Höhe
# ==================================================
#Bildformat
#
# -Geben Sie den Dateinamen mit dem ersten Argument an
# -Geben Sie das Konvertierungsformat mit dem zweiten Argument an
# ==================================================
# encoding: UTF-8
from PIL import Image #Bildkonvertierungsmodul
import os, re, sys #Dateipfad,Modul für regulären Ausdruck,Weil es Befehlszeilenargumente verwendet
###
# Main
#
def main():
#Argumentprüfung
if len(sys.argv) > 4:
fileName = sys.argv[1]
format = sys.argv[2]
#Datei öffnen
img = Image.open(fileName, "r")
width, height = img.size
#Holen Sie sich vor der Dateinamenerweiterung,Wechseln Sie nach der Formatierung zum Dateinamen
fileName = re.search("(?<!\.)\w+", fileName).group(0) + "." + format
#Überprüfung der Dateiexistenz
flag = os.path.exists(fileName)
if flag == True:
print("Die Datei existiert bereits.")
sys.exit()
#Erstellen Sie eine Leinwand und fügen Sie sie ein, um das Bild einzufügen
canvas = Image.new("RGB", (width, height), (255, 255, 255))
canvas.paste(img, (0, 0))
#Bild speichern
canvas.save(fileName, returnFormat(format), quality=100, optimize=True)
else:
print("Es gibt zu wenige Argumente.\n Geben Sie den Dateinamen und das Format der zu konvertierenden Datei an.\
\n * Bitte geben Sie das Format in Kleinbuchstaben an.\
\n Beispiele) python imgf.py fileName.jpg bmp 100 100")
###
# returnFormat()
#Gibt das übergebene Format in Großbuchstaben zurück
#
def returnFormat(format):
if format == "bmp":
return "BMP"
elif format == "jpg":
return "JPEG"
elif format == "png":
return "PNG"
elif format == "gif":
return "GIF"
else:
print(format + "Unterstützt nicht.")
sys.exit()
if __name__ == "__main__":
main()
Referenzseite http://librabuch.jp/2013/05/python_pillow_pil/ http://d.hatena.ne.jp/fgshun/20080922/1222095288
Recommended Posts