403Webshell
Server IP : 3.128.248.115  /  Your IP : 3.145.34.51
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /bin/ppmquantall
#!/bin/bash
#
# 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
# ppmquant; this script solves it for multiple pixmaps.  All it does is
# concatenate them together into one big pixmap, run ppmquant on that, and
# then split it up into little pixmaps again.

usage()
{
    echo "usage: $0 [-ext extension] <newcolours> <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().

declare -a widths
declare -a heights

for i in ${files[@]}; do
    widths=(${widths[*]} `egrep -v '^#' $i | sed '1d; s/ .*//; 2q'`) # #204890
    heights=(${heights[*]} `egrep -v '^#' $i | sed '1d; s/ .*//; 2q'`) # #204890
done

#all=`tempfile -p pqa.all -m 600`
#all=.tmp.pqa.all.$$
#rm -f $all
all=$(mktemp -t pqa.all.XXXXXXXXXX) || exit 1 #219019

pnmcat -topbottom -jleft -white ${files[@]} | ppmquant $newcolors > $all
if [ $? != 0 ]; then
    exit $?
fi

y=0
i=0

while [ $i -lt $nfiles ]; do
    pnmcut -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

rm -f $all

Youez - 2016 - github.com/yon3zu
LinuXploit