Отрисовка чебурашки графическими примитивами библиотеки GD

Используя графические примитивы можно строить сложные узнаваемые изображения. Например, Чебурашку из детской книги Эдуарда Успенского:

Чебурашка на PHP
<?php
header("Content-Type:image/jpeg");
$img = imageCreateTrueColor(600,500);
imagefilledrectangle($img,0,0,600,500,imagecolorallocate($img,255,255,255));
 
$black = imagecolorallocate($img,0,0,0);
 
//Тело
imagearc($img, 322, 311, 178, 178,  154, 195, $black);
imagearc($img, 271, 312, 180, 180,  344, 26, $black);
imagearc($img, 218, 352, 371, 371, 318, 0, $black);
imagearc($img, 385, 341, 42, 42, 26, 155, $black);
imagearc($img, 202, 341, 328, 328, 342, 3, $black);
imagearc($img, 363, 345, 347, 347, 178, 224, $black);
imagearc($img, 208, 340, 42, 42, 28, 153, $black);
imagearc($img, 388, 343, 324, 324, 178, 200, $black);
 
imagepolygon($img, array(
			189, 350,
			188, 369,
			194, 364,
			199, 368,
			202, 361), 5, $black);
imagepolygon($img, array(
			404, 350,
			410, 366,
			402, 362,
			400, 368,
			394, 360), 5, $black);
imagearc($img, 343, 256, 164, 164,  157, 197, $black);
imagearc($img, 298, 262, 80, 80, 44, 140, $black);
imagearc($img, 238, 262, 188, 188, 343, 17, $black);
 
 
//Правая нога
imagearc($img, 190, 495, 308, 308,  290, 314, $black);
imagearc($img, 350, 368, 112, 112,  142, 165, $black);
imagearc($img, 350, 320, 188, 188,  100, 119, $black);
imageline($img, 335, 413, 369, 413, $black);
imagearc($img, 366, 385, 56, 56, 41, 85, $black);
imagearc($img, 371, 389, 44, 44, 353, 41, $black);
imagearc($img, 326, 420, 150, 150, 291, 333, $black);
 
 
//Левая нога
imagearc($img, 394, 487, 286, 286,  227, 254, $black);
imagearc($img, 270, 382, 52, 52, 3, 53, $black);
imagearc($img, 258, 370, 86, 86, 51, 93, $black);
imageline($img, 257, 413, 222, 413, $black);
imagearc($img, 223, 388, 50, 50, 94, 143, $black);
imagearc($img, 227, 387, 56, 56, 146, 183, $black);
imagearc($img, 270, 428, 166, 166, 211, 251, $black);
 
//Лицо
imagearc($img, 249, 133, 48, 48, 0, 360, $black);
imagearc($img, 251, 128, 38, 38, 0, 360, $black);
imagearc($img, 258, 119, 10, 10, 0, 360, $black);
imagearc($img, 352, 133, 49, 49, 0, 360, $black);
imagearc($img, 354, 126, 36, 36, 0, 360, $black);
imagearc($img, 360, 117, 10, 10, 0, 360, $black);
imageellipse($img, 240, 92, 30, 14, $black);
imageellipse($img, 358, 90, 28, 14, $black);
imagearc($img, 301, 178, 28, 28, 41, 140, $black);
imagepolygon($img, array(
			301, 143,
			314, 167,
			301, 159,
			287, 167), 4, $black);
imageellipse($img, 301, 143, 204, 170, $black);
imageellipse($img, 301, 143, 260, 188, $black);
imagearc($img, 475, 144, 180, 180, 220, 142, $black);
imagearc($img, 123, 144, 187, 187, 37, 322, $black);
imagearc($img, 133, 146, 135, 135, 38, 319, $black);
imagearc($img, 463, 146, 126, 126, 225, 140, $black);
 
//Заливка цветом
imagefilltoborder($img, 249, 136, $black, $black);
imagefilltoborder($img, 364, 136, $black, $black);
imagefilltoborder($img, 404, 358, $black, $black);
imagefilltoborder($img, 191, 360, $black, $black);
imagefilltoborder($img, 123, 128, $black, imagecolorallocate($img, 105, 36, 21));
imagefilltoborder($img, 463, 128, $black, imagecolorallocate($img, 105, 36, 21));
imagefilltoborder($img, 350, 370, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 250, 370, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 358, 90, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 240, 92, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 48, 128, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 543, 128, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 232, 213, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 301, 155, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 270, 320, $black, imagecolorallocate($img, 138, 65, 50));
imagefilltoborder($img, 300, 200, $black, imagecolorallocate($img, 255, 208, 100));
imagefilltoborder($img, 290, 262, $black, imagecolorallocate($img, 255, 208, 100));
 
imagejpeg($img,NULL,100);
?>
Направление: