#!/usr/bin/perl use GD; $i = GD::Image->newFromPng("wire.png",1); $n = GD::Image->newTrueColor(100,100); my ($x,$y) = (-1,0); my @go = ([1,0],[0,1],[-1,0],[0,-1]); my $c = 0; my $direct = 0; for ( map { $_ % 100 != 0 ? ($_) x 2 : $_ } reverse 0..100 ) { for (1..$_) { $x += $go[$direct][0]; $y += $go[$direct][1]; $n->setPixel($x,$y, $n->colorAllocate($i->rgb($i->getPixel($c,0)))); $c++ } $direct++; $direct %= 4; } open $w, ">", "out3.jpg"; binmode $w; print $w $n->jpeg(100); close $w;