ctr=${1:-1}
ctr=$(( $ctr - 1 ))
+[ -z "$NEGATIVE" ] && SRC="Flatbed" || SRC="Transparency Adapter"
+
scan() {
resolution=$1
shift
- scanimage --format=pnm --progress --resolution=$resolution --mode=Color $@ > tmp.ppm
+ scanimage --format=pnm --mode=Color --depth 16 --progress --resolution=$resolution --source="$SRC" $@ > tmp.ppm
}
process() {
- pamflip -rotate$rotate | pnmcrop -closeness=$crop
+ [ $rotate -eq 0 ] && rotator=cat || rotator="pamflip -rotate$rotate"
+ $rotator | pnmcrop -closeness=$crop
}
preview() {
- pnmscale -w 600 < tmp.ppm | process > preview.ppm
+ [ -z "$NEGATIVE" ] && inverter=cat || inverter=pnminvert
+ pamdepth 8 < tmp.ppm | pnmscale -w 600 | process | $inverter > preview.ppm
sxiv preview.ppm
}
do_next() {
rotate=180
- crop=50
+ [ -z "$NEGATIVE" ] && crop=50 || crop=10
ctr=$(( $ctr + 1 ))
cur=`printf "%03d.ppm" $ctr`
}
read c
case $c in
v)
- scan 150
+ scan 150 --preview=yes
preview
;;
s)
- scan 1600 --high-quality=yes
+ scan 1600 --preview=no --high-quality=yes
preview
;;
p)
do_next
;;
r)
+ echo -n Rotate:
read rotate
- echo Rotate: $rotate
+ case $rotate in
+ n)
+ rotate=180
+ ;;
+ r)
+ rotate=90
+ ;;
+ l)
+ rotate=270
+ ;;
+ t)
+ rotate=0
+ ;;
+ *)
+ echo ?
+ ;;
+ esac
;;
c)
+ echo -n Crop:
read crop
- echo Crop: $crop
;;
*)
echo ?