about summary refs log tree commit diff
path: root/editor/ppmquantall
diff options
context:
space:
mode:
Diffstat (limited to 'editor/ppmquantall')
-rwxr-xr-xeditor/ppmquantall96
1 files changed, 0 insertions, 96 deletions
diff --git a/editor/ppmquantall b/editor/ppmquantall
deleted file mode 100755
index 4807de8c..00000000
--- a/editor/ppmquantall
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-#
-# ppmquantall - run ppmquant on a bunch of files all at once, so they share
-#               a common colormap
-#
-# WARNING: overwrites the source files with the results!!!
-#
-# Verbose explanation: Let's say you've got a dozen pixmaps that you want
-# to display on the screen all at the same time.  Your screen can only
-# display 256 different colors, but the pixmaps have a total of a thousand
-# or so different colors.  For a single pixmap you solve this problem with
-# pnmquant; this script solves it for multiple pixmaps.  All it does is
-# concatenate them together into one big pixmap, run pnmquant on that, and
-# then split it up into little pixmaps again.
-#
-# IMPLEMENTATION NOTE:  Now that Pnmcolormap can compute a single colormap
-# for a whole stream of images, this program could be implemented more
-# simply.  Today, it concatenates a bunch of images into one image, uses
-# Pnmquant to quantize that, then splits the result back into multiple
-# images.  It could instead just run Pnmcolormap over all the images,
-# then run Pnmremap on each input image using the one colormap for all.
-
-usage()
-{
-    echo "usage: $0 [-ext extension] <newcolors> <ppmfile> ..."
-    exit 1
-}
-
-ext=
-
-while :; do
-
-    case "$1" in
-    -ext*)
-        if [ $# -lt 2 ]; then
-            usage
-        fi
-        ext=".$2"
-        shift
-        shift
-    ;;
-
-    *)  
-        break
-    ;;
-
-    esac
-done
-
-if [ $# -lt 2 ]; then
-    usage
-fi
-
-newcolors=$1
-shift
-nfiles=$#
-files=($@)
-
-# Extract the width and height of each of the images.
-# Here, we make the assumption that the width and height are on the
-# second line, even though the PPM format doesn't require that.
-# To be robust, we need to use Pnmfile to get that information, or 
-# Put this program in C and use ppm_readppminit().
-
-widths=()
-heights=()
-
-for i in ${files[@]}; do
-    widths=(${widths[*]} `grep -v '^#' $i | sed '1d; s/ .*//; 2q'`)
-    heights=(${heights[*]} `grep -v '^#' $i | sed '1d; s/.* //; 2q'`)
-done
-
-tempdir="${TMPDIR-/tmp}/ppmquantall.$$"
-mkdir -m 0700 $tempdir || \
-  { echo "Could not create temporary file. Exiting."; exit 1;}
-trap 'rm -rf $tempdir' 0 1 3 15
-
-all=$tempdir/pqa.all.$$
-
-pnmcat -topbottom -jleft -white ${files[@]} | pnmquant $newcolors > $all
-if [ $? != 0 ]; then
-    exit $?
-fi
-
-y=0
-i=0
-
-while [ $i -lt $nfiles ]; do
-    pamcut -left 0 -top $y -width ${widths[$i]} -height ${heights[$i]} $all \
-        > ${files[$i]}$ext
-    if [ $? != 0 ]; then
-        exit $?
-    fi
-    y=$(($y + ${heights[$i]}))
-    i=$(($i + 1))
-done