From d519be045dd84def76398329531e1d3c7aec8b92 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 18 Sep 2014 16:37:54 -0300 Subject: Initial import --- README.md | 0 TODO.md | 0 image2ascii | 76 ++++++++++++++++++ imgconv | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 338 insertions(+) create mode 100644 README.md create mode 100644 TODO.md create mode 100755 image2ascii create mode 100755 imgconv diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..e69de29 diff --git a/image2ascii b/image2ascii new file mode 100755 index 0000000..729cb4d --- /dev/null +++ b/image2ascii @@ -0,0 +1,76 @@ +#! /bin/sh +# +# $ Id: image2ascii,v 1.6 2002/12/01 12:36:56 roland Exp roland $ +# +# Convert any image to an ASCII-graphic using ImageMagick +# +########################################################################## +# +# Copyright (C) 1997-2002 Roland Rosenfeld +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +########################################################################## + +CONVERT=convert # The ImageMagick convert binary +PBMTOASCII=pbmtoascii # The NetPBM pbmtoascii binary + +umask 077 + +tmpdir=${TMPDIR-/tmp}/image2ascii.$$ +mkdir $tmpdir || exit 1 +trap "rm -rf $tmpdir; exit" 0 1 2 3 15 + +TMPFILE=$tmpdir/image + +usage="Usage: $0 [option] [imagefile] + + -help display this help text + -geometry 132x50 define the size of the ascii image" + + +# set default geometry to display width: +geometry=`stty size $TMPFILE ;; + 1 ) case "$1" in + -* ) echo "$usage"; exit 0 ;; + * ) cat "$1" > $TMPFILE ;; + esac ;; + 2 ) case "$1" in + -geometry ) geometry=$2 + cat > $TMPFILE ;; + * ) echo "$usage"; exit 0 ;; + esac ;; + 3 ) case "$1" in + -geometry ) geometry=$2 + cat $3 > $TMPFILE ;; + * ) echo "$usage"; exit 0 ;; + esac ;; + * ) echo "$usage"; exit 0 ;; +esac + +# multiply x with 2 and y with 4 (pbmtoascii divides by 2x4) +geometry=`echo $geometry | awk -Fx '{print 2*$1 "x" 4*$2}'` + +$CONVERT -geometry $geometry $TMPFILE $TMPFILE.pbm +$PBMTOASCII -2x4 < $TMPFILE.pbm diff --git a/imgconv b/imgconv new file mode 100755 index 0000000..396a786 --- /dev/null +++ b/imgconv @@ -0,0 +1,262 @@ +#!/bin/bash + +# little script to generate image galleries for use with original. +# uses imagemagick's convert +# (c) 2005 boris de laage +# based on imgconv by Jakub Steiner +# +# The 'help' section sucks, as my english does. + + +#default options +dir=./web-gallery +zip=0 +rotate=0 +mq=0 +hq=0 +interactive=0 +verbose=echo + +#info.txt stuff +gal_auth="" +gal_name="" +gal_desc="" +gal_date="" +gal_user="" +gal_pass="" + +# convert options +convertor=`which convert` +jhead=`which jhead` +extra_ops="-strip" + +# This script +name=`basename $0` + +# getopt stuff +shortopts="a:hHin:d:D:Mqo:Zr" +longopts="author:quiet,help,interactive,name:,date:,description:,\ +mq,hq,output:,archive,rotate" + + + +function echo_help { +cat <" > $dir/.htaccess +echo " deny from all" >> $dir/.htaccess +echo "" >> $dir/.htaccess + + +$verbose "Generating O.R.I.G.I.N.A.L gallery in $dir" + +files=$(echo $@ | sed 's/ /\n/g' | sort) + +#files=$@ + +i=1 +for imagefile in $files; do + + good_file "$imagefile" + if [ $? != 0 ]; then + $verbose "$imagefile is not a JPG, JPEG or PNG file, skipped" + continue + fi + + $verbose -n "converting $imagefile " + + $verbose -n "." + $convertor -geometry 120x120 -modulate 100,140,100 -unsharp 1x20 \ + -quality 60 $extra_opts "$imagefile" $dir/thumbs/img-$i.jpg + + $verbose -n "." + $convertor -geometry 640x480 -modulate 100,130,100 -unsharp 1x5 \ + -quality 90 "$imagefile" $dir/lq/img-$i.jpg + + if [ $mq -gt 0 ]; then + $verbose -n "." + $convertor -geometry 1024x768 -modulate 100,130,100 -unsharp 1x5 \ + -quality 80 "$imagefile" $dir/mq/img-$i.jpg + fi + + if [ $hq -gt 0 ] ; then + $verbose -n "." + cp "$imagefile" $dir/hq/img-$i.jpg + fi + + # template for comment + echo "Photo $i " > $dir/comments/$i.txt + + + i=`expr $i + 1` + $verbose " done" +done + +# auto-rotate stuff +if [ $rotate -gt 0 ]; then + $verbose "rotating" + jhead -autorot $dir/thumbs/*.jpg + jhead -autorot $dir/lq/*.jpg + [ $mq ] && jhead -autorot $dir/mq/*.jpg + [ $hq ] && jhead -autorot $dir/hq/*.jpg +fi + +# zip stuff +if [ $zip -gt 0 ]; then + $verbose "archiving" + [ $mq ] && zip -R $dir/zip/mq.zip $dir/mq/*.jpg + [ $hq ] && zip -R $dir/zip/hq.zip $dir/hq/*.jpg +fi + +#info.txt +protect=n +if [ $interactive == 1 ]; then + echo -n "Gallery name [$gal_name]: " + read gal_name + echo -n "Description: " + read gal_desc + echo -n "Author [$gal_auth]: " + read gal_auth + echo -n "Date [$gal_date]: " + read gal_date + echo -n "Resctrict access ? [y/N]: " + read protect + if [ "$protect" == "y" ] || [ "$protect" == "Y" ]; then + echo -n "restricted user [$gal_user]: " + read gal_user + echo -n "restricted password [$gal_pass]: " + read gal_pass + fi +fi + +[ "$gal_name" != "" ] && echo "name|$gal_name" >> $dir/info.txt +[ "$gal_auth" != "" ] && echo "author|$gal_auth" >> $dir/info.txt +[ "$gal_date" != "" ] && echo "date|$gal_date" >> $dir/info.txt +[ "$gal_desc" != "" ] && echo "description|$gal_desc" >> $dir/info.txt +[ "$gal_user" != "" ] && echo "restricted_user|$gal_user" >> $dir/info.txt +[ "$gal_pass" != "" ] && echo "restricted_password|$gal_pass" >> $dir/info.txt -- cgit v1.2.3