X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=bin%2Fbin%2Fscan.sh;h=a816d3478c1ed2da2a533e4be65b1cde7db4d2c7;hb=2729c2e563e30fff3337b79f7211506dc4087681;hp=ce9694e3446489149102cba988b25cc1871483aa;hpb=9011468d29c7c08fc14dd29b27f8d06d2bcc576a;p=dotfiles.git diff --git a/bin/bin/scan.sh b/bin/bin/scan.sh index ce9694e..a816d34 100755 --- a/bin/bin/scan.sh +++ b/bin/bin/scan.sh @@ -9,21 +9,33 @@ ctr=$(( $ctr - 1 )) scan() { resolution=$1 shift - scanimage --format=pnm --progress --resolution=$resolution --mode=Color $@ > tmp.ppm + [ -z "$NEGATIVE" ] && src="Flatbed" || src="Transparency Adapter" + [ -z "$NEGATIVE" ] && depth=8 || depth=16 + [ -z "$NEGATIVE" ] && resolution=800 || resolution=1600 + scanimage \ + --format=pnm \ + --mode=Color \ + --depth $depth \ + --progress \ + --resolution=$resolution \ + --source="$src" \ + $@ > tmp.ppm } process() { - pamflip -rotate$rotate | pnmcrop -closeness=$crop + [ $rotate -eq 0 ] && rotator=cat || rotator="pamflip -rotate$rotate" + [ -z "$NEGATIVE" ] && inverter=cat || inverter=pnminvert + $rotator | pnmcrop -closeness=$crop | $inverter } preview() { - pnmscale -w 600 < tmp.ppm | process > preview.ppm + pamdepth 255 < tmp.ppm | pnmscale -w 600 | process > preview.ppm sxiv preview.ppm } do_next() { rotate=180 - crop=50 + [ -z "$NEGATIVE" ] && crop=20 || crop=10 ctr=$(( $ctr + 1 )) cur=`printf "%03d.ppm" $ctr` } @@ -31,15 +43,15 @@ do_next() { do_next while : ; do - echo "$cur: (v)iew r(otate) c(rop) (s)can (p)review (n)ext" + echo -n "$cur: (v)iew r(otate) c(rop) (s)can (p)review (n)ext > " 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) @@ -50,12 +62,19 @@ while : ; do do_next ;; r) + echo -n "Rotate (n/r/l/t):" 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 ?