Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Random Color Generator

by Elihu (Novice)
on Feb 03, 2000 at 08:05 UTC ( #2775=sourcecode: print w/replies, xml ) Need Help??
Category: HTML Utility
Author/Contact Info Elihu
Description: This is a cgi script that generates an 8 by 8 grid of random colors with their appropriate hex values. Useful for picking colors for web pages.
#!/usr/bin/perl -w
#
# HTML Color Generator
# by Rob Hudson (elihu@atdot.org)
# June 1, 1999
use strict;
my @colors;

for (my $i = 0; $i < 64; $i++) {

  my ($rand,$x);
  my @hex;

  for ($x = 0; $x < 3; $x++) {
    $rand = rand(255);
    $hex[$x] = sprintf ("%x", $rand);
    if ($rand < 9) {
      $hex[$x] = "0" . $hex[$x];
    }
    if ($rand > 9 && $rand < 16) {
      $hex[$x] = "0" . $hex[$x];
    }
  }
  $colors[$i] = "\#" . $hex[0] . $hex[1] . $hex[2];
}

print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>Random Color Generator</TITLE></HEAD>";
print "<BODY BGCOLOR=\"#FFFFFF\">\n";
print "<H2><CENTER>Random Color Generator</CENTER></H2>";
print "<TABLE CELLSPACING=5 CELLPADDING=5 ALIGN=CENTER>\n";

my $count = 0;
for (my $i = 0; $i < 8; $i++) {
  print "<TR>\n";
  for (my $x = 0; $x < 8; $x++) {
    print "<TD BGCOLOR=\"#E0E0E0\"> $colors[$count++] </TD>";
  }
  print "</TR><TR>\n";
  $count -= 8;
  for (my $y = 0; $y < 8; $y++) {
    print "<TD BGCOLOR=\"$colors[$count++]\"> &nbsp;<BR>&nbsp;</TD>\n"
+;
  }
  print "</TR>\n";
}
print "</TABLE></BODY></HTML>";
Replies are listed 'Best First'.
Re: Random Color Generator
by salvadors (Pilgrim) on Dec 31, 2000 at 16:31 UTC
    That's quite a longwinded way of generating the colors array. Especially as you do exactly the same in each part of the 'if'!

    I'd use something like:

    my @colors = map { join "", map { sprintf "%02x", rand(255) } (0..2) } (0..63);

    Tony

RE: Random Color Generator
by subpop (Sexton) on Mar 10, 2000 at 06:10 UTC
    randomly cool. I ran it through another script that kept the pages coming. made for a nifty light show...
Re: Random Color Generator
by Tux (Abbot) on Jun 06, 2013 at 13:21 UTC

    Those are the fun projects in our fav scripting language :)

    Not to be pedantic, but I rewrote the script to be both more perlish and more xhtml compliant. A lot of your variables are unneeded. The first part is html and css only, the last (very simple) loop incorporates all your fun


    Enjoy, Have FUN! H.Merijn
Re: Random Color Generator
by OfficeLinebacker (Chaplain) on Sep 14, 2006 at 15:55 UTC
    Greetings, esteemed monks!

    Pretty sweet. For generating just one random color, I used

    my @ca=('0','3','6','9','C','E'); my @bgc=('','',''); foreach my $c (@bgc){ $r=int(rand(6)); $c=$ca[$r].$ca[$r]; } my $bgc=join("",@bgc);

    _________________________________________________________________________________

    I like computer programming because it's like Legos for the mind.

      my ($red, $green, $blue) = (int(rand(255)), int(rand(255)), int(rand(2 +55))); print qq{<div style="background-color: rgb($red, $green, $blue);"></di +v>};
        Or, if you do not want to repeat yourself:
        my ($red, $green, $blue) = map int rand 255, 1 .. 3;
        لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://2775]
help
Chatterbox?
[Corion]: I found Android Studio quite nice as a Java IDE, but then, I didn't try anything serious with it
[chacham]: it is a nice ide. its just that upgrading it always causes issues with mismatched versions of whatever
[Corion]: chacham: Oh, yes, reinstalling all the SDK versions and Gradle and whatnot, yes, even in the short time I used it (2 weeks?) I felt that pain
[chacham]: right now im editing the versions in the applications gradle file to use a version it wants. sheesh.
[Corion]: Ow, "but you're not supposed to do that" ;)

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2017-03-29 07:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (344 votes). Check out past polls.