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


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 " entourer son chemin par des guillemets"
echo " - Vérifier vos paramètres (--html ou --text)"
fi
}


N'ayant pas trouvé quelque chose d'intéressant pour la conversion en .jpg je vous conseille de convertir votre image en html de faire une capture d'écran puis de la retoucher sur gimp.