Server IP : 3.128.248.115 / Your IP : 3.136.19.203 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ip-172-31-33-233 5.15.0-1037-aws #41~20.04.1-Ubuntu SMP Mon May 22 18:18:00 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.28 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /bin/ |
Upload File : |
#!/bin/bash # # pnmindex - build a visual index of a bunch of anymaps # # Copyright (C) 1991 by Jef Poskanzer. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, provided # that the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation. This software is provided "as is" without express or # implied warranty. size=100 # make the images about this big across=6 # show this many images per row colors=256 # quantize results to this many colors back="-white" # default background color doquant=true # quantize or not title="" # default title (none) usage () { echo "usage: $0 [-size N] [-across N] [-colors N] [-black] pnmfile ..." exit 1 } while :; do case "$1" in -s*) if [ $# -lt 2 ]; then usage; fi size="$2" shift shift ;; -a*) if [ $# -lt 2 ]; then usage; fi across="$2" shift shift ;; -t*) if [ $# -lt 2 ]; then usage; fi title="$2" shift shift ;; -c*) if [ $# -lt 2 ]; then usage; fi colors="$2" shift shift ;; -b*) back="-black" shift ;; -w*) back="-white" shift ;; -noq*) doquant=false shift ;; -q*) doquant=true shift ;; -*) usage ;; *) break ;; esac done if [ $# -eq 0 ]; then usage fi tmpdir=$(mktemp -d -t pi.XXXXXXXX) || exit 1 #219019 tmpfile=$tmpdir/pi.tmp maxformat=PBM rowfiles=() imagefiles=() row=1 col=1 if [ "$title"x != ""x ] ; then # rowfile=`tempfile -p pirow -m 600` rowfile=$tmpdir/pi.${row} pbmtext "$title" > $rowfile rowfiles=(${rowfiles[*]} $rowfile ) row=$(($row + 1)) fi for i in "$@"; do cp "$i" $tmpfile description=(`pnmfile $tmpfile`) format=${description[1]} width=${description[3]} height=${description[5]} if [ $? -ne 0 ]; then echo pnmfile returned an error exit $? fi if [ $width -gt $size ] || \ [ $height -gt $size ]; then case $format in PBM) pnmscale -quiet -xysize $size $size $i | pgmtopbm > $tmpfile ;; PGM) pnmscale -quiet -xysize $size $size $i > $tmpfile if [ $maxformat = PBM ]; then maxformat=PGM fi ;; *) if [ "$doquant" = "true" ] ; then pnmscale -quiet -xysize $size $size $i | \ ppmquant -quiet $colors > $tmpfile else pnmscale -quiet -xysize $size $size $i > $tmpfile fi maxformat=PPM ;; esac fi imagefile=$tmpdir/pi.${row}.${col} rm -f $imagefile if [ "$back" = "-white" ]; then pbmtext "$i" | pnmcat $back -tb $tmpfile - > $imagefile else pbmtext "$i" | pnminvert | pnmcat $back -tb $tmpfile - > $imagefile fi rm -f $tmpfile imagefiles=( ${imagefiles[*]} $imagefile ) if [ $col -ge $across ]; then rowfile=$tmpdir/pi.${row} rm -f $rowfile if [ $maxformat != PPM -o "$doquant" = "false" ]; then pnmcat $back -lr -jbottom ${imagefiles[*]} > $rowfile else pnmcat $back -lr -jbottom ${imagefiles[*]} | \ ppmquant -quiet $colors > $rowfile fi rm -f ${imagefiles[*]} unset imagefiles imagefiles=() rowfiles=( ${rowfiles[*]} $rowfile ) col=1 row=$(($row + 1)) else col=$(($col + 1)) fi done # All the full rows have been put in row files. # Now put the final partial row in its row file. if [ ${#imagefiles[*]} -gt 0 ]; then rowfile=$tmpdir/pi.${row} rm -f $rowfile if [ $maxformat != PPM -o "$doquant" = "false" ]; then pnmcat $back -lr -jbottom ${imagefiles[*]} > $rowfile else pnmcat $back -lr -jbottom ${imagefiles[*]} | \ ppmquant -quiet $colors > $rowfile fi rm -f ${imagefiles[*]} rowfiles=( ${rowfiles[*]} $rowfile ) fi if [ ${#rowfiles[*]} -eq 1 ]; then cat $rowfiles else if [ $maxformat != PPM -o "$doquant" = "false" ]; then pnmcat $back -tb ${rowfiles[*]} else pnmcat $back -tb ${rowfiles[*]} | ppmquant -quiet $colors fi fi rm -f ${rowfiles[*]} if [ -d "$tmpdir" ]; then rm -rf "$tmpdir"; fi exit 0