Given the data you describe, this will plot a black pixel for the dots and a white pixel for the spaces:
#! perl -slw use strict; use GD; my @d2D = map[ map{ rand > 0.2 ? ' ' : '.'} 1 .. 1500 ], 1 .. 1500; my $i = GD::Image->new( 1500, 1500, 0 ); my $black = $i->colorAllocate( (0)x3 ); my $white = $i->colorAllocate( (255)x3 ); for my $y ( 0 .. 1499 ) { for my $x ( 0 .. 1499 ) { $i->setPixel( $x, $y, $d2D[ $y ][ $x ] eq ' ' ? $white : $black ); } } open PNG, '>:raw', "$0.png" or die $!; print PNG $i->png; close PNG; system 1, "$0.png";
Update: looking back at a previous post, perhaps this is what you are trying to do?
#! perl -slw use strict; use GD; my $seq1 = join'',map{ (qw[ a c g t ] )[ rand 4 ] } 1 .. 1500; my $seq2 = join'',map{ (qw[ a c g t ] )[ rand 4 ] } 1 .. 1500; my $i = GD::Image->new( 1500, 1500, 0 ); my $black = $i->colorAllocate( (0)x3 ); my $white = $i->colorAllocate( (255)x3 ); for my $y ( 0 .. 1499 ) { for my $x ( 0 .. 1499 ) { $i->setPixel( $x, $y, substr( $seq1, $y, 1 ) eq substr( $seq2, $x, 1 ) ? $black : $white ); } } open PNG, '>:raw', "$0.png" or die $!; print PNG $i->png; close PNG; system 1, "$0.png";
In reply to Re: GD module help please
by BrowserUk
in thread GD module help please
by egorleg
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |