#!/usr/bin/perl -w use strict; use GD; use File::Slurp; my $width = 102; my $height = 123; my $image = GD::Image->new( $width, $height, 1 ); my $dbz1 = $image->colorAllocate(0,0,0); #-30 my $dbz2 = $image->colorAllocate(204,255,255); #-28 my $dbz3 = $image->colorAllocate(204,153,204); #-25 my $dbz4 = $image->colorAllocate(153,102,153); #-20 my $dbz5 = $image->colorAllocate(102,51,102); #-15 my $dbz6 = $image->colorAllocate(204,204,153); #-10 my $dbz7 = $image->colorAllocate(153,153,102); #-5 my $dbz8 = $image->colorAllocate(102,102,51); #0 my $dbz9 = $image->colorAllocate(102,255,255); #5 my $dbz10 = $image->colorAllocate(51,153,255); #10 my $dbz11 = $image->colorAllocate(0,0,255); #15 my $dbz12 = $image->colorAllocate(0,255,0); #20 my $dbz13 = $image->colorAllocate(0,204,0); #25 my $dbz14 = $image->colorAllocate(0,153,0); #30 my $dbz15 = $image->colorAllocate(255,255,0); #35 my $dbz16 = $image->colorAllocate(255,204,0); #40 my $dbz17 = $image->colorAllocate(255,104,0); #45 my $dbz18 = $image->colorAllocate(255,0,0); #50 my $dbz19 = $image->colorAllocate(204,51,0); #55 my $dbz20 = $image->colorAllocate(153,0,0); #60 my $dbz21 = $image->colorAllocate(255,0,255); #65 my $dbz22 = $image->colorAllocate(153,51,204); #70 my $dbz23 = $image->colorAllocate(255,255,255); #75 my $dbz24 = $image->colorAllocate(255,255,255); #80 print "$dbz1\n"; my @data = read_file('test_image.txt'); print "@data\n"; for my $y ( 0 .. $height - 1 ){ for my $x ( 0 .. $width - 1 ){ my $pixel = ( $y * $width ) + $x; # print "Pixel Value: $data[$pixel]\n"; if( $data[ $pixel ] == 0 ){ $image->setPixel( $x, $y, $dbz1 ); } elsif( $data[ $pixel ] <= 10 ){ $image->setPixel( $x, $y, $dbz5 ); } elsif( $data[ $pixel ] <= 20 ){ $image->setPixel( $x, $y, $dbz10 ); } elsif( $data[ $pixel ] <= 30 ){ $image->setPixel( $x, $y, $dbz15 ); } else { ## What do you want to do if the value is greater than 30?? } } } open JPEG,'>','test_image.jpg' or die $!; binmode( JPEG ); print JPEG $image->jpeg(); close JPEG; exit;