#!/bin/bash # Read a list of file paths from stdin (such as produced by find) and verify # that running optipng on them will produce an output file which looks # identical. This is checked by converting original and new file to PPM and # checking for identical output. # # Author: Martin Pitt <martin.pitt@ubuntu.com> # (C) 2010 Canonical Ltd. # # This software is distributed under the same licensing and warranty terms as # OptiPNG. Please see the attached LICENSE for more info. set -e if ! type convert >/dev/null 2>&1; then echo "ERROR: Please install imagemagick" >&2 exit 1 fi workdir=`mktemp -d` trap "rm -r '$workdir'" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM out=$workdir/out.png while read f; do if ! optipng -o4 -quiet -out $out "$f"; then echo "SKIP: optipng cannot process $f" continue fi if ! cmp <(convert -depth 24 "$f" ppm:-) <(convert -depth 24 "$out" ppm:-); then echo "FAIL: Different result on $f" >&2 exit 1 fi echo "OK: $f" rm $out done
Generated by dwww version 1.15 on Sun Jun 30 10:16:07 CEST 2024.