Hi,
after a short discussion yesterday about safe registration and using images with text I decided it’s about time I learn how to create images from words on the command line. Or even better, generate a HTML file, made of images, from a GNU Xnee source file.
[Added after original post: scripts can be found here http://www.sandklef.com/stuff/bin/]
OK, here’s a file that takes a word as its first argument and a filename as second:
#!/bin/bash
export PRIMARY=”-size 800×120 xc:white “
export TEXT_PRIMARY=”-fill black -annotate +20+80 “
export TEXT_SHADOW=” -fill red -annotate +21+81 “
export TEXT_SHADOW2=” -fill yellow -annotate +22+82 “
ARG=$( echo “$1″ | sed -e ‘s,\\\\*,*,g’)
#echo “gen for \”$1\” –> \”$ARG\”"
convert $PRIMARY $TEXT_PRIMARY “$ARG” $TEXT_SHADOW “$ARG” $TEXT_SHADOW2 “$ARG” -trim
+repage $2
I named the file: word2png Here’s how to use it:
word2png “IFK” ifk.png
It’s about time for the next file. Read a text file (such as a header file in the Xnee sources), call word2png for every word in it, and add some HTML stuff. Here’s the file:
#!/bin/bash
TMP_DIR=/tmp/file2png
IDX_FILE=${TMP_DIR}/index.html
rm -fr ${TMP_DIR}
mkdir ${TMP_DIR}
rm -f ${IDX_FILE}
CNT=0
whtml()
{
echo "$*" >> ${IDX_FILE}
}
whtml "html body"
if [ "$1" = "" ] ; then echo "Missing file arg....." ; exit 1 ; fi
if [ ! -f $1 ] ; then echo "Missing file arg....." ; exit 1 ; fi
echo "Using file: $1"
while read line
do
# echo "read $line"
ARG=$( echo "$line" | sed -e 's,*,*,g' -e 's,,,g' )
for i in $ARG
do
./word2png "$i" ${TMP_DIR}/${CNT}.png
whtml "
"
(( CNT++ ))
done
whtml "
done < $1
whtml "/body /html "
echo "wrote to: $IDX_FILE"
I called it: file2png Here’s how to use it:
file2png xnee.h
Then open up the file /tmp/file2png/index.html in your browser.
I know it’s useless….. but I really think it’s kind of fun!