#!/bin/bash # ============================================================================= # Copyright (c) 2011-2013 Bolero MURAKAMI # https://github.com/bolero-MURAKAMI/Sprout # # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # ============================================================================= # # requires: ImageMagick (http://www.imagemagick.org/script/index.php) # src="" stagedir="darkroom" width=16 height=16 tile_width=16 tile_height=16 force=0 args=`getopt -o s:d:w:h:W:H:f -l source:,stagedir:,width:,height:,tile-width:,tile-height:,force -- "$@"` if [ "$?" -ne 0 ]; then echo >&2 -e ": \e[31musage: $0 -s|--source=file [-d|--stagedir=path] [-w|--width=value] [-h|--height=value] [-W|--tile-width=value] [-H|--tile-height=value] [-f|-force]\e[m" exit 1 fi eval set -- ${args} while [ -n "$1" ]; do case $1 in -s|--source) src=$2; shift 2;; -d|--stagedir) stagedir=$2; shift 2;; -w|--width) width=$2; shift 2;; -h|--height) height=$2; shift 2;; -W|--tile-width) tile_width=$2; shift 2;; -H|--tile-height) tile_height=$2; shift 2;; -f|--force) force=1; shift 2;; --) shift; break;; *) echo >&2 -e ": \e[31munknown option($1) used.\e[m"; exit 1;; esac done echo ": settings" echo ": source = ${src}" echo ": stagedir = ${stagedir}" echo ": width = ${width}" echo ": height = ${height}" echo ": tile-width = ${tile_width}" echo ": tile-height = ${tile_height}" echo ": force = ${force}" if [ ! -f "${src}" ]; then echo >&2 ": \e[31msource(${src}) is not exist.\e[m" exit 1 fi if [ -d "${stagedir}" ]; then if [ ${force} -eq 0 ]; then echo >&2 -e ": \e[31mstagedir(${stagedir}) is already exist.\e[m" exit 1 else rm -f -r ${stagedir}/* fi else mkdir -p ${stagedir} fi echo ": rendering..." start=$SECONDS for ((y=0; y ${stagedir}/${y}/${x}.ppm # rm ${binname} done; pushd ${stagedir}/${y}/ convert +append $(ls *.ppm | sort -n) ../${y}.ppm popd let y_elapsed=$SECONDS-$y_start echo ": elapsed(${y}) = ${y_elapsed}s" done; pushd ${stagedir} convert -append $(ls *.ppm | sort -n) out.ppm popd let elapsed=$SECONDS-$start echo ": elapsed = ${elapsed}s" echo ": finished"