ImageMagick és una aplicació que ens permet manipular imatges a través de la línia d'ordres i que serveix per a pràcticament tots els formats. Amb ella, també és possible automatitzar les accions sobre les imatges contingudes en una carpeta (conversió, redimensionat, etc ...)
Anem a veure una llista d'ordres útils de ImageMagick:
Obtenir informació d'una imatge.
identify -ping image.png
Obtenir encara més informació.
identify -verbose image.png
Conèixer la llista de colors utilitzats en una imatge.
identify -list color image.png
Convertir una imatge PNG en JPG
convert image.png image.jpg
Convertir una imatge PNG en JPG indicant la qualitat de conversió.
convert -quality 96 image.png image.jpg
Convertir totes les imatges PNG en JPG contingudes en una carpeta
mogrify -format png *.jpg
Convertir totes les imatges (* .jpg, * .png) en PDF
convert images*.* archivo.pdf
Canviar la mida d'una imatge
convert -resize 48×48 image.png image-mini.png
Canviar la mida de totes les imatges d'una carpeta
mogrify -resize 48×48 *.png
Canviar la mida d'una imatge indicant l'ample
convert -resize 620x image.png image-620.png
Canviar la mida d'una imatge indicant l'alt
convert -resize x100 image.png image-100.png
Crear un Favicon
convert -colors 256 -resize 16×16 image.jpg favicon.ico
Convertir una imatge en color en blanc i negre
convert -type image.jpg image-noir-blanc.jpg
Afegir una vora transparent d'1 píxel al voltant d'una imatge
convert -bordercolor Transparent -border 1×1 image.png image-borde.png
Afegir una vora negra de 10 píxels al voltant d'una imatge
convert -bordercolor #000000 -border 10×10 image.png image-borde.png
Crear un negatiu d'una imatge
convert -negate image.png image-negate.png
Rotar una imatge en vertical
convert -flip image.png image-inversee.png
Rotar una imatge d'esquerra a dreta
convert -flop image.png image-inversee.png
Utilitza la interfície gràfica d'ImageMagick
display image.png
10 comentaris, deixa el teu
estàs fent servir mogrify ?? fixa't en l'exemple de l'post.
salutacions! Pau.
Vas copiar i pegar?
Posa una lletra 'x' en lloc de el signe per '×' que posa l'editor de text de la pàgina.
Salutacions
Rubén
Recupera el teu aspecte d'abans...
he estat provant i està molt bé, però la comanda per crear un favicon no em funciona, aquest és l'error que em dóna:
convert: invalid argument for option `-resize ': 16 × 16 @ error / convert.c / ConvertImageCommand / 2343.
salutacions
que és una terminal
Molt bona selecció de comandaments i claredat en la seva sintaxi. Anteriorment tenia molts problemes tractant d'usar convert per redimensionar un lot d'imatges i ara que usi mogrify per al mateix propòsit, tot va sortir bé. Moltes gràcies Pau.
Un petit aportació a aquest brillant post!
Per convertir a B & W:
convert -monochrome image.png image-bw.png
Salutacions
Gràcies x l'aportació!
Abraçada! Pau
Hola, aquesta informació l'he vista en moltes webs!
Pregunta: Com puc realitzar l'escala a un altre directori?
Exemple: convert -scale 50% -quality 80% * .jpg> escalat /
L'exemple no funciona, com hauria de ser d'una carpeta xa una subcarpera x / escalat ??
Per endavant, moltes gràcies!
Jo vaig fer un script per a això i les modificades es em guarden en una altra carpeta.
L'script ho situo dins de la carpeta on tinc totes les imatges que vull modificar, i el va executar des de la consola (el fitxer ha de tenir permís d'execució). El codi que vaig a posar a continuació, el pegues en un fitxer i li dones el nom que vulguis (jo li vaig posar a la fin .sh per saber que és un script amb només llegir el nom de l'arxiu).
Copio i pego el codi per si et serveix d'alguna cosa:
#! / Bin / bash
### Canviar la mida d'una imatge indicant l'amplada i la qualitat
# Convert -quality 86 -resize 620x image.png image-620.png
### Canviar la mida d'una imatge indicant l'alt i la qualitat
# Convert -quality 86 -resize x 100 image.png image-100.png
+ Info: https://blog.desdelinux.net/como-manipular-imagenes-desde-el-terminal/
#
# ================================================= ==============
DIRECTORI =
pwd
cd $ DIRECTORI
resized_directory = »resized_img»
$ (Mkdir «$ resized_directory» 2> / dev / null)
TEMP = »listado_img» #fichero temporal intern
#
#lista d'imatges de directori en un fitxer temporal
ls * .png 2> / dev / null >> $ resized_directory / $ TEMP; ls * .PNG 2> / dev / null >> $ resized_directory / $ TEMP;
ls * .jpg 2> / dev / null >> $ resized_directory / $ TEMP; ls * .JPG 2> / dev / null >> $ resized_directory / $ TEMP;
ls * .jpeg 2> / dev / null >> $ resized_directory / $ TEMP; ls * JPEG 2> / dev / null >> $ resized_directory / $ TEMP;
ls * .gif 2> / dev / null >> $ resized_directory / $ TEMP; ls * .GIF 2> / dev / null >> $ resized_directory / $ TEMP
#
#recorrido d'imatges dins de directori
echo -n 'En procés, esperi »
while read imatge
do
fet -n «.»
convert -quality 90 -resize 1000x $ imatge $ resized_directory / $ imatge
done <$ resized_directory / $ TEMP
fet «»
#
#eliminamos el fitxer temporal
rm $ resized_directory / $ TEMP
trobo «finalitzat amb èxit»
gràcies molt bo