Artykuły na każdy temat

[PHP] Wszystkie kolory w wersji wizualnej

Dodano 26.04.2018r. o 16:16
Dobrych kilka lat temu bawiłem się już kolorami jednak nie była to forma wizualna. Obecnie w wolnych chwilach eksperymentuje z algorytmami. W ramach przygotowań do testów publikuję kod odpowiedzialny za wyświetlenie wszystkich możliwych kolorów.
Kod:
<?php
// set_time_limit(0);
$im imagecreatetruecolor(0x10000x1000);
$x $y 0;

// Version 1
for($r 0$r 0x100; ++$r)
{
 for($g 0$g 0x100; ++$g)
 {
  for($b 0$b 0x100; ++$b)
  {
   $color imagecolorallocate($im$r$g$b);
   imagesetpixel($im$x$y$color);

   if($x 0xFFF)
   {
    ++$x;
   }
   else
   {
    $x 0;
    ++$y;
   }
  }
 }
}

// Version 2
// for($h = 0; $h < 0x1000000; ++$h)
// {
//  $x = $h % 0x1000;
//  $r = $h >> 16 & 0xFF;
//  $g = $h >> 8 & 0xFF;
//  $b = $h & 0xFF;
//
//  $color = imagecolorallocate($im, $r, $g, $b);
//  imagesetpixel($im, $x, $y, $color);
//
//  if($x === 0xFFF)
//  {
//   ++$y;
//  }
// }

header('Content-type: image/png');
imagepng($im);
?>

Wynik działania

all-colors-small.png

Co można z tym zrobić?

Otóż można i to całkiem sporo. Przypadkowo natknąłem się na projekt Rainbow Smoke, a następnie na ciekawy challenge. Jest w nim kilka interesujących algorytmów, które mogą się przydać grafikom.

Komentarze

Brak komentarzy

Dodaj komentarz

Zostaw komentarz jeżeli możesz! Nie bądź przysłowiowym botem! Nie bądź obojętny! Ciebie to nic nie kosztuje, a mi sprawi uśmiech na twarzy.
Zezwolono używać: BBCode
Zabroniono używać:
znaczników HTML

(Wymagany)

(Wymagany, niepublikowany)

(Nie wymagana)

Token:

Obrazek dla bota

(Przepisz tylko cyfry!)

(Wymagana)