PROJET AUTOBLOG


EauLand

Archivé

source: EauLand

⇐ retour index

Convertir une image en Ascii

lundi 3 mai 2010 à 08:52
Après la lecture de ce post je me suis dis qu'il pouvait être sympa de convertir une image en Ascii néanmoins les multiples arguments empêchent de se mémoriser de la commande, c'est pourquoi j'ai décidé de rajouter une fonction dans mon ~/.bashrc

[BASH linenumbers='false'] imgAscii(){ #set -xv if [ $# -lt 3 ]; then # récupération du nom complet de l'image (et son chemin si il existe) et de l'option (si elle existe)
if [ "$2" ]; then if [ "$1" == --text ] || [ "$1" == --html ]; then param="$1" img="$2" elif [ "$2" == --text ] || [ "$2" == --html ]; then param="$2" img="$1" else
param=? fi else param=0 img="$1" fi # vérification de la présence de l'image et de la bonne option
if [ $param == ? ]; then echo "Paramètre de commande inconnu, vous pouvez utiliser (--text ou --html)" elif [ ! -f "$img" ]; then echo "L'image demandée pour la conversion est introuvable" else # récupération de l'extension nom=${img#$PWD} nom=${nom%.*} ext=${img#$nom} # conversion de l'image si elle n'est pas en jpg if [ $ext != .jpg ]; then conversion=true convert "$img" $PWD/"$nom".jpg img="$nom".jpg else conversion=false fi # conversions en ascii suivant les paramètres if [ $param == --text ]; then jp2a "$img" > "$nom".txt elif [ $param == --html ]; then jp2a "$img" --colors --chars=oO.: --html --fill --background=light > "$nom".html else jp2a --color "$img" fi # efface l'image convertie en jpg (si elle existe) if [ $conversion == true ]; then rm $img fi fi else echo "Il y a trop d'arguments..." echo " - Si votre image comporte des espaces veuillez" echo " englober son chemin par des guillemets" echo " - Vérifier vos paramètres (--html ou --text)" fi } [/BASH]