Créer un programme de format d'image à l'aide de Pillow en Python3.3 Obtenez automatiquement la largeur et la hauteur
# ==================================================
#Format d'image
#
# -Spécifiez le nom du fichier avec le premier argument
# -Spécifiez le format de conversion avec le deuxième argument
# ==================================================
# encoding: UTF-8
from PIL import Image #Module de conversion d'image
import os, re, sys #Chemin du fichier,Module d'expression régulière,Parce qu'il utilise des arguments de ligne de commande
###
# Main
#
def main():
#Vérification des arguments
if len(sys.argv) > 4:
fileName = sys.argv[1]
format = sys.argv[2]
#Fichier ouvert
img = Image.open(fileName, "r")
width, height = img.size
#Obtenez avant l'extension de nom de fichier,Changer le nom du fichier après le formatage
fileName = re.search("(?<!\.)\w+", fileName).group(0) + "." + format
#Vérification de l'existence du fichier
flag = os.path.exists(fileName)
if flag == True:
print("Le fichier existe déjà.")
sys.exit()
#Créez et collez une toile pour coller l'image
canvas = Image.new("RGB", (width, height), (255, 255, 255))
canvas.paste(img, (0, 0))
#Enregistrer l'image
canvas.save(fileName, returnFormat(format), quality=100, optimize=True)
else:
print("Il y a trop peu d'arguments.\n Spécifiez le nom du fichier et le format du fichier à convertir.\
\n * Veuillez spécifier le format en minuscules.\
\n exemples) python imgf.py fileName.jpg bmp 100 100")
###
# returnFormat()
#Renvoie le format passé en majuscules
#
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 + "Ne supporte pas.")
sys.exit()
if __name__ == "__main__":
main()
Site de référence http://librabuch.jp/2013/05/python_pillow_pil/ http://d.hatena.ne.jp/fgshun/20080922/1222095288
Recommended Posts