On 19/03/2011 23:10, Avi wrote:
On Sat, 19 Mar 2011 15:01:05 +0000
John Levin<technola...@gmail.com> wrote:
hi all,
I need several series of numbered icons, from about 1 to 111 in
different colours. There must be a way of automating this through the
command line using imagemagick, but I haven't found a way of doing
so, and my google - fu is giving very poor returns today. Any one got
any ideas?
With no testing whatsoever, and only a passing (but google-enhanced)
familiarity with imagemagick, this is how I'd do it in Perl.
Basically, define an array of acceptable colours, then iterate through
the numbers 1 through 111. For each, pick two different colours at
random to use as foreground and background colours and create an icon.
I don't even know if the imagemagick command really does what I want it
to - I got it from [0] - and this could be done in any language, I just
can't remember how to do arrays in bash.
#! /usr/bin/perl
my @colours=("red","green","blue","orange");
for (my $i = 1; $i<= 111; $i++) {
# Pick a random colour for fg and bg out of the array:
my $fgcolour = $colours(int rand($#colours +1));
my $bgcolour = $colours(int rand($#colours +1));
# Check they're not equal
while ($bgcolour == $fgoclour){
$bgcolour = $colours(int rand($#colours +1));
}
# Concoct a command
my $cmd="convert -size 16x16 xc:$colour ";
$cmd .= "-pointsize 8 -fill green ";
$cmd .= "-stroke black ";
$cmd .= " -draw 'text 10,55 \"$i\"' ";
$cmd .= "icon_$i.jpg ";
# Run it
`$cmd`;
}
[0] http://www.imagemagick.org/Usage/draw/#specifics
Avi, many many thanks!
The code above doesn't work straight off, but I've managed to get it
running (I don't know perl) and now have a working script. Am doing some
tweaking and will post my version up when that's done.
John
--
John Levin
http://www.anterotesis.com
johnle...@joindiaspora.com
http://twitter.com/anterotesis
--
ubuntu-uk@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-uk
https://wiki.ubuntu.com/UKTeam/