#!/bin/bash jpg=$1 png=$2 if [ "$jpg" = "" -o "$png" = "" ]; then echo "Usage: make-face " exit fi quant=16 found=false tmp=/tmp/make-face.$$.tmp while [ "$found" = "false" ]; do echo -n "Trying quantization $quant ($jpg)..." djpeg "$jpg"\ | ppmnorm\ | pnmscale -width 48 -height 48\ | ppmquant $quant\ | pnmtopng\ | mimencode > $tmp size=`ls -l $tmp | awk '{ print $5; }'` if [ $size -lt 993 ]; then echo -n "Face:" > "$png" for i in `cat $tmp`; do echo -n " " >> "$png" echo "$i" >> "$png" done rm $tmp found=true echo "done" else quant=`expr $quant - 2` echo "too big ($size)" fi done