#!/usr/bin/perl -w
use GD;
use strict;
use Image::Info;
use SVG;
my $file = $ARGV[0];
my $info = Image::Info::image_info($file);
my $myImage = GD::Image->newFromJpeg($file);
my($w, $h) = Image::Info::dim($info);
my $svg = SVG->new(width=>$w,height=>$h);
my $color = {};
my $defs = $svg->defs();
my $draw = $svg->group(id=>"canvas");

foreach my $hval (1..$w) {
	foreach my $vval (1..$h) {
		my $index = $myImage->getPixel($hval,$vval);
		unless(defined $color->{$index}){
			my ($r,$g,$b) = $myImage->rgb($index);
			$color->{$index} = 
				$draw->group(id=>"$r-$g-$b",
					stroke=>"rgb($r,$g,$b)",
					fill=>"rgb($r,$g,$b)");
		}
		$color->{$index}->
			rect( width=>1, height=>1, x=>$hval,y=>$vval,); 
	}
}

print $svg->xmlify;


