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";
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|