Si desea hacerlo de forma programática, que supongo que es el caso, use PIL para cambiar el tamaño, p.
newIm = im.resize((newW, newH)
guárdelo en el mismo archivo o en una nueva ubicación.
Pase por la carpeta de forma recursiva y aplique la función de cambio de tamaño a todas las imágenes.
He creado una secuencia de comandos de muestra que creo que funcionará para usted. Puede mejorarlo: tal vez hacerlo gráfico, agregar más opciones, p. misma extensión o puede ser todo png, redimensionar el muestreo lineal/bilineal, etc.
import os
import sys
from PIL import Image
def resize(folder, fileName, factor):
filePath = os.path.join(folder, fileName)
im = Image.open(filePath)
w, h = im.size
newIm = im.resize((int(w*factor), int(h*factor)))
# i am saving a copy, you can overrider orginal, or save to other folder
newIm.save(filePath+"copy.png")
def bulkResize(imageFolder, factor):
imgExts = ["png", "bmp", "jpg"]
for path, dirs, files in os.walk(imageFolder):
for fileName in files:
ext = fileName[-3:].lower()
if ext not in imgExts:
continue
resize(path, fileName, factor)
if __name__ == "__main__":
imageFolder=sys.argv[1] # first arg is path to image folder
resizeFactor=float(sys.argv[2])/100.0# 2nd is resize in %
bulkResize(imageFolder, resizeFactor)
No estoy seguro. En primer lugar, no dice que sea un trabajo de una sola vez. Segundo: "Irfan View" podría no ser una opción, por ejemplo, debido a limitaciones del sistema operativo. Tercero: ImageMagick es tan complejo que incluso usarlo como una herramienta por lotes es una especie de programación. –