#!/bin/bash
set -e
for x in $*; do 
  echo ============ $x =================
  pngtopnm $x >$x.pnm
  if pnmfile $x.pnm | grep -q PBM ; then 
    export NCOL=1;
  else
   export NCOL=`pnmfile $x.pnm | tr -s " "|  cut -f 7 -d " "` ;
  fi
  if [ $NCOL -gt 1 ] ; then 
    export ALPH=`pnmtopgm $x.pnm | pgmangle`;
    if [ "$ALPH" != "0" ] ; then 
      echo colors: $NCOL
      pnmrotate "$ALPH" <$x.pnm >$x.pnm.pnm \
        && rm $x.pnm \
        && pnmtopng -force -verbose -compression 1 $x.pnm.pnm >$x.png.png \
        && rm $x.pnm.pnm && mv $x.png.png $x; 
    else 
      rm $x.pnm;
    fi
  else
    export ALPH=`pnmtopgm $x.pnm | pgmangle`;
    if [ "$ALPH" != "0" ] ; then 
    echo colors: $NCOL
    pbmtopgm 1 1 $x.pnm | pnmrotate "$ALPH" | pnmgamma 0.5  \
    | pnmdepth $NCOL | pnmcrop >$x.pnm.pnm \
    && rm $x.pnm \
    && pnmtopng -force -verbose -compression 1 $x.pnm.pnm >$x.png.png \
    && rm $x.pnm.pnm && mv $x.png.png $x; 
    else 
    rm $x.pnm;
    fi
fi

done

