We needed a background with opacity x% (where x could vary between 30 and 75). We decided to use a “alpha-transparent” PNG24.
How to generate such a PNG using ImageMagick?
Extremely simple – specify a “8-digit” color code using the syntax:
convert -size 1x1 xc:#123456DD test.png
The last 2 digits in the color code (DD) is the alpha channel(opacity/transparency value).
I also wrote a bash-script that generates 255 images for each value of the alpha-channel for a given color:
#!/bin/bash # # generate a directory containing 255 semi-transparent png24-files # with transparencies from 0 to 100% (0-255) for a given color # author: Andreas Philippi - Cubus Arts 2010 # #convert(Imagemagick must be installed) type -P convert &>/dev/null || { echo "Imagemagick not found on your system." >&2; echo "Debian/Ubuntu: sudo apt-get install imagemagick" >&2; echo "Centos/Red Hat: yum install ImageMagick" >&2; echo "FreeBSD: pkg_add -r ImageMagick" >&2; exit 1; } #this script gets 1 parameter: the color code if [ $# == 0 ]; then echo 'Usage: transparent_png_creator.sh'; echo 'Example: transparent_png_creator.sh 4F6681'; fi #check the color code if ! [[ "$1" =~ ^[0-9,A-F,a-f]+$ ]] ; then echo "Invalid color code!! Valid range: 000000 - FFFFFF" >&2; exit 1; fi #create the directory `mkdir $1` for i in {0..255} do hex_i=$(printf "%02x" $i) convert -size 1x1 xc:#$1$hex_i $1/$1_$hex_i.png done echo "Successfully created 255 images in directory $1"
Excellent! I am new to imagemagick and was working on this very problem. Thank you posting the code to make this work.
Cheers
Gig Bounty