summaryrefslogtreecommitdiff
path: root/grid
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-04-30 15:08:01 -0700
committeryo mama <pepper@scannerjammer.com>2015-04-30 15:08:01 -0700
commit03f45bb4225740f2ebe4adfd8de24f67d33ee0e3 (patch)
treef555265c798f7d1dff25315e79eb90055f4bab74 /grid
parentda8255b0ad5703837c315c082a6f69edc47754a7 (diff)
good
Diffstat (limited to 'grid')
-rwxr-xr-xgrid241
1 files changed, 0 insertions, 241 deletions
diff --git a/grid b/grid
deleted file mode 100755
index 58d0e08..0000000
--- a/grid
+++ /dev/null
@@ -1,241 +0,0 @@
-#!/bin/bash
-#
-# Developed by Fred Weinhaus 10/22/2007 .......... revised 1/1/2008
-#
-# USAGE: grid [-s spacing] [-c color] [-t thickness] [-o opacity] infile outfile
-# USAGE: grid [-h or -help]
-#
-# OPTIONS:
-#
-# -s spacing x,y spacing between grid lines; default=16,16 or 16;
-# second number is defaulted to the first
-# -c color color of grid lines; default="black"
-# -t thickness thickness of grid lines; default=1
-# -o opacity opacity of grid lines opacity between 0.0 and 1.0;
-# opacity=0 is transparent; opacity=1 is opaque;
-# default=1
-#
-###
-#
-# NAME: GRID
-#
-# PURPOSE: To superimpose a set of horizontal and/or vertical grid lines
-# on an image.
-#
-# DESCRIPTION: GRID superimposes a set of horizontal and/or vertical grid
-# lines on an image. Parameters are available to select the grid line color,
-# thickness and opacity.
-#
-#
-# OPTIONS:
-#
-# -s spacing ... SPACING specifies the horizontal (x) and vertical (y) grid
-# offset between lines. Spacing must be provided as integer values. If the
-# second value is left off, then it will be set identical to the first. If
-# only vertical lines are desired, set the horizontal (x) spacing larger
-# than the width of the image. If only horizontal lines are desired, set
-# the vertical (y) spacing larger than the height of the image. The default=8.
-# Note: if you want the bottom and/or right grid line to show, then the image
-# dimension(s) must be a multiple of the grid spacing plus 1.
-#
-# -c color ... COLOR is the color of the grid lines. Any valid IM color
-# specification is allowed. Be sure to color values in double quotes.
-# The default="black".
-#
-# -t thickness ... THICKNESS is the grid line thickness. Values are positive
-# integers. The default=1
-#
-# -o opacity ... OPACITY is the grid line opacity. Values are non-negative
-# floats between 0.0 and 1.0. The default=1
-#
-# CAVEAT: No guarantee that this script will work on all platforms,
-# nor that trapping of inconsistent parameters is complete and
-# foolproof. Use At Your Own Risk.
-#
-######
-#
-
-# set default values
-spacing=16
-color="black"
-thickness=1
-opacity=1
-
-
-# set directory for temporary files
-dir="." # suggestions are dir="." or dir="/tmp"
-
-
-# set up functions to report Usage and Usage with Description
-PROGNAME=`type $0 | awk '{print $3}'` # search for executable on path
-PROGDIR=`dirname $PROGNAME` # extract directory of program
-PROGNAME=`basename $PROGNAME` # base name of program
-usage1()
- {
- echo >&2 ""
- echo >&2 "$PROGNAME:" "$@"
- sed >&2 -n '/^###/q; /^#/!q; s/^#//; s/^ //; 4,$p' "$PROGDIR/$PROGNAME"
- }
-usage2()
- {
- echo >&2 ""
- echo >&2 "$PROGNAME:" "$@"
- sed >&2 -n '/^######/q; /^#/!q; s/^#*//; s/^ //; 4,$p' "$PROGDIR/$PROGNAME"
- }
-
-
-# function to report error messages
-errMsg()
- {
- echo ""
- echo $1
- echo ""
- usage1
- exit 1
- }
-
-
-# function to test for minus at start of value of second part of option 1 or 2
-checkMinus()
- {
- test=`echo "$1" | grep -c '^-.*$'` # returns 1 if match; 0 otherwise
- [ $test -eq 1 ] && errMsg "$errorMsg"
- }
-
-# test for correct number of arguments and get values
-if [ $# -eq 0 ]
- then
- # help information
- echo ""
- usage2
- exit 0
-elif [ $# -gt 10 ]
- then
- errMsg "--- TOO MANY ARGUMENTS WERE PROVIDED ---"
-else
- while [ $# -gt 0 ]
- do
- # get parameter values
- case "$1" in
- -h|-help) # help information
- echo ""
- usage2
- exit 0
- ;;
- -s) # get spacing
- shift # to get the next parameter - spacing
- # test if parameter starts with minus sign
- errorMsg="--- INVALID SPACING SPECIFICATION ---"
- checkMinus "$1"
- spacing="$1,"
- ;;
- -c) # get color
- shift # to get the next parameter - lineval
- # test if parameter starts with minus sign
- errorMsg="--- INVALID COLOR SPECIFICATION ---"
- checkMinus "$1"
- # test lineval values
- color="$1"
- ;;
- -t) # get thickness
- shift # to get the next parameter - thickness
- # test if parameter starts with minus sign
- errorMsg="--- INVALID THICKNESS SPECIFICATION ---"
- checkMinus "$1"
- # test width values
- thickness=`expr "$1" : '\([0-9]*\)'`
- [ "$thickness" = "" -o $thickness -eq 0 ] && errMsg "--- THICKNESS=$thickness MUST BE A POSITIVE INTEGER ---"
- ;;
- -o) # get opacity
- shift # to get the next parameter - opacity
- # test if parameter starts with minus sign
- errorMsg="--- INVALID OPACITY SPECIFICATION ---"
- checkMinus "$1"
- # test width values
- opacity=`expr "$1" : '\([.0-9]*\)'`
- [ "$opacity" = "" ] && errMsg "OPACITY=$opacity IS NOT A NON-NEGATIVE FLOATING POINT NUMBER"
- opacitytest=`echo "$opacity > 1" | bc`
- [ $opacitytest -eq 1 ] && errMsg "OPACITY=$opacity MUST BE BETWEEN 0.0 AND 1.0"
- ;;
- -) # STDIN and end of arguments
- break
- ;;
- -*) # any other - argument
- errMsg "--- UNKNOWN OPTION ---"
- ;;
- *) # end of arguments
- break
- ;;
- esac
- shift # next option
- done
- #
- # get infile and outfile
- infile=$1
- outfile=$2
-fi
-
-
-# test that infile provided
-[ "$infile" = "" ] && errMsg "NO INPUT FILE SPECIFIED"
-
-# test that outfile provided
-[ "$outfile" = "" ] && errMsg "NO OUTPUT FILE SPECIFIED"
-
-# setup temporary images and auto delete upon exit
-# use mpc/cache to hold input image temporarily in memory
-tmpA="$dir/profile_$$.mpc"
-tmpB="$dir/profile_$$.cache"
-trap "rm -f $tmpA $tmpB; exit 0" 0
-trap "rm -f $tmpA $tmpB; exit 1" 1 2 3 15
-
-
-#
-if convert -quiet -regard-warnings "$infile" +repage "$tmpA"
- then
- : 'do nothing - continue processing below'
- else
- errMsg "--- FILE $infile DOES NOT EXIST OR IS NOT AN ORDINARY FILE, NOT READABLE OR HAS ZERO SIZE ---"
-fi
-
-
-# get image dimensions
-width=`identify -format %w $tmpA`
-height=`identify -format %h $tmpA`
-
-width1=`expr $width - 1`
-height1=`expr $height - 1`
-
-xinc=`echo "$spacing" | cut -d, -f1`
-yinc=`echo "$spacing" | cut -d, -f2`
-[ "$yinc" = "" ] && yinc=$xinc
-testx=`expr $xinc : '[0-9]*'`
-testy=`expr $yinc : '[0-9]*'`
-[ $testx -eq 0 -o $testy -eq 0 ] && errMsg "--- SPACING MUST BE AN INTEGER ---"
-
-# get string for drawing grid lines
-drawstr=""
-
-if [ $yinc -le $height ]
- then
- i=0
- while [ $i -le $height ]
- do
- drawstr="$drawstr M 0,$i L $width1,$i"
- i=`expr $i + $yinc`
- done
-fi
-
-if [ $xinc -le $width ]
- then
- i=0
- while [ $i -le $width ]
- do
- drawstr="$drawstr M $i,0 L $i,$height1"
- i=`expr $i + $xinc`
- done
-fi
-
-# process image
-convert $tmpA -fill none -stroke $color -strokewidth $thickness -draw "stroke-opacity $opacity path '$drawstr'" $outfile
-exit 0