To trochę dziwne życzenie :)
Więc czego chcesz używać tutaj jest php-gd, na początek. Zwykle jest to uwzględnione podczas instalowania php na dowolnym systemie operacyjnym z przyzwoitymi transakcjami repo, ale wystarczy, że to nie jest dla ciebie, możesz pobrać instrukcje instalacji tutaj;
http://www.php.net/manual/en/image.setup.php
Po pierwsze, musimy dowiedzieć się dokładnie, jak duży obraz trzeba będzie szerokości; wysokość oczywiście zawsze będzie jedna.
Tak;
$str = $_GET['str'];
$img_width = strlen($str);
strlen powie nam, ile znaków znajduje się w STR string $, a ponieważ dajemy jeden piksel za charakter, ilość znaków da nam żądaną szerokość.
Aby ułatwić dostęp, podziel łańcuch na tablicę - z każdym elementem dla każdego oddzielnego piksela.
$color_array = str_split($str);
Teraz ustawmy "wskaźnik", dla którego rysujemy piksel. To php, więc nie musisz tego inicjować, ale miło jest być w porządku.
$current_px = (int) 0;
A teraz można zainicjować GD i rozpocząć tworzenie obrazu;
$im = imagecreatetruecolor($img_width, 1);
// Initialise colours;
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
// Now, start running through the array
foreach ($color_array as $y)
{
if ($y == 1)
{
imagesetpixel ($im, $current_px , 1 , $black);
}
$current_px++; // Don't need to "draw" a white pixel for 0. Just draw nothing and add to the counter.
}
Spowoduje to narysowanie obrazu, a następnie wszystko, czego potrzebujesz, to wyświetlić;
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
Zauważ, że $ biały deklaracja nie jest potrzebna w ogóle - po prostu zostawili go do daje wyobrażenie o tym, jak można zadeklarować różne kolory z gd.
Będziesz prawdopodobnie potrzebował trochę debugować, zanim go użyjesz - minęło sporo czasu, odkąd użyłem GD. W każdym razie, miej nadzieję, że to pomaga!
+1 za interesujące pytania! – hexafraction