Построение изображения девушки на PHP


<?php
$img=imageCreateTrueColor(1300,600); //идентификатор изображения
imagefilledrectangle($img,0,0,1300,600,imagecolorallocate($img,250, 239, 157));//закрашенный прямоугольник
$y = imagecolorallocate($img,255,200,9); //определение цвета
 
imagefilledrectangle($img,300,0,1000,600,$y);
$dress=array(
        890, 600,
        872, 540,
        727, 426,
	    676, 428,
        612, 476,
        614, 481,
		575, 527,
		531, 502,
		542, 464,
		665, 322,
		740, 290,
		790, 246,
		804, 262,
		1000, 368,
		1000, 412,
		947, 395,
		1000,456,
		1000,600,
		890, 600
    );
$arm1=array(
	578, 523,
	614, 481,
	739, 542,
	735, 573,
	578, 523
);
$glove1=array(
	742, 541,
	775, 545,
	841, 516,
	872, 540,
	876, 553,
	855, 568,
	851, 568,
	853, 551,
	760, 598,
	760, 586,
	744, 586,
	744, 572,
	736, 576,
	742, 541
	);
$headscarf=array(
	704,228,
	785,220,
	784,214,
	805, 207,
	780, 164,
	760, 169,
	753, 170,
	733, 160,
	725, 145,
	800, 50,
	763, 33,
	700, 43,
	634, 80,
	610, 170,
	700, 219,
	645, 204,
	572, 223,
	642, 230,
	660, 246,
	704,228
);
$hair=array(
	801, 143,
	824, 141,
	816, 154,
	780, 164,//
	760, 169,
	753, 170,
	733, 160,
	725, 145,
	717, 107,
	725, 80,
	745,58,
	772, 43,	
	751, 143,
	801, 143
);
$face=array(
	780, 164,
	804, 205,
	843, 203,
	849, 200,
	848, 188,
	855, 181,
	853, 168,
	849, 165,
	858, 145,
	842, 130,
	840, 94,
	824, 143, 
	816, 154,
	780, 164
);
$button=array(
	774, 310,
	775, 320,
	784, 324,
	785, 308,
	774, 310
 
);
$mouth=array(
	829, 173,
	832, 177,
	839, 180,
	843, 181,
	853, 181,
	855, 180,
	855, 178,
	852, 174,
	853, 172,
	855, 170,
	854, 168,
	853, 166,
	849, 168,
	843, 170,
	829, 173
 
 
);
$glasses=array(
	774, 125,
	782, 133,
	810, 132,
	823, 131,
	823, 127,
	828, 127,
	828, 128,
	832, 128,
	833, 140,
	831, 141,
	829, 149,
	827, 152,
	840, 152,
	842, 147,
	843, 138,
	844, 122,
	844, 115,
	840, 115,
	806, 119,
	782, 123,
	774, 125	
 
);
$glove2=array(
	1000, 219,
	992, 214,
	985, 211,
	907, 211,
	880, 208,
	863, 206,
	863, 204,
	830, 203, 
	842, 213,
	851, 215,
	878, 217,
	878, 221,
	844, 240,
	842, 246,
	855, 246,
	880, 229,
	883, 230,
	883,234,
	867, 253,
	867, 259,
	867, 258,
	880, 252,
	889, 252,
	906, 244,
	919, 232,
	922, 232,
	943, 239,
	976, 244,
	977, 250,
	988, 250,
	996, 246,
	993, 238,
	997, 239,
	1000, 239,
	1000, 219
 
);
$arm2=array(
	1000,326,
	994, 306,
	993, 279,
	986, 263,
	986, 251,
	997, 246,
	997, 246,
	994, 245,
	992, 238, 
	1000, 239,
	1000, 326
);
imagepolygon($img, $dress, 19, imagecolorallocate($img, 0, 0, 0)); //построение многоугольника
imagefilledpolygon($img, $dress, 19, imagecolorallocate($img, 0, 0, 0)); //закраска многоугольника
imagefilledpolygon($img, $arm1, 5, imagecolorallocate($img, 252, 182, 146));
imagefilledpolygon($img, $arm2, 11, imagecolorallocate($img, 252, 182, 146));
imagefilledpolygon($img, $glove1, 14, imagecolorallocate($img, 252, 116, 86));
imagefilledpolygon($img, $glove2, 35, imagecolorallocate($img, 252, 116, 86));
imagearc($img, 735, 305, 100, 200, 175, 230, imagecolorallocate($img, 252, 182, 146)); //построение дуги
imagearc($img, 1178, 233, 800, 170, 170, 190, imagecolorallocate($img, 252, 182, 146));
imageline ($img,704,228 ,785 ,220, imagecolorallocate($img, 252, 182, 146)); //построение линии
imageline ($img,688, 312 ,740, 290, imagecolorallocate($img, 252, 182, 146));
imageline ($img,740, 290, 786 ,245, imagecolorallocate($img, 252, 182, 146));
imagefill($img, 689,311,imagecolorallocate($img, 252, 182, 146));// закраска области
 
imagepolygon($img, $headscarf, 20, imagecolorallocate($img, 255, 255, 255));
imagefill($img, 730,211,imagecolorallocate($img, 255, 255, 255));
 
imagearc($img, 703, 86, 300, 100, 298, 350, imagecolorallocate($img, 133, 41, 41));
imagearc($img, 700, 77, 300, 100, 0, 45, imagecolorallocate($img, 133, 41, 41));
imagearc($img, 798, 100, 30, 30, 270, 50, imagecolorallocate($img, 133, 41, 41));
imagearc($img, 810, 130, 80, 90, 190, 260, imagecolorallocate($img, 133, 41, 41));
imagearc($img, 822, 97, 120, 100, 110, 150, imagecolorallocate($img, 133, 41, 41));
imagepolygon($img, $hair, 14, imagecolorallocate($img, 133, 41, 41));
imagefill($img, 746,158,imagecolorallocate($img, 133, 41, 41));
imagefill($img, 730,100,imagecolorallocate($img, 133, 41, 41));
imagefill($img, 808,70,imagecolorallocate($img, 133, 41, 41));
imagefill($img, 776,50,imagecolorallocate($img, 133, 41, 41));
 
imagepolygon($img, $face, 13, imagecolorallocate($img,252, 182, 146));
imagefill($img, 834,156,imagecolorallocate($img, 252, 182, 146));
imagefill($img, 790,115,imagecolorallocate($img, 252, 182, 146));
$x=0;
while ($x<4)
{
	for ($i=0; $i<count($button); $i+=2){
		$button[$i]+=50;
	}
	for ($i=1; $i<count($button); $i+=2){
		$button[$i]+=40;
	}
imagepolygon($img, $button, 5, imagecolorallocate($img,245, 247, 208));
imagefill($img, 780+50*($x+1),315+40*($x+1),imagecolorallocate($img, 245, 247, 208));
	$x++;
}
 
imagepolygon($img, $mouth, 15, imagecolorallocate($img,245, 34, 34));
imagefill($img, 845,176,imagecolorallocate($img, 245, 34, 34));
imagefill($img, 853,167,imagecolorallocate($img, 245, 34, 34));
imagefill($img, 854,169,imagecolorallocate($img, 245, 34, 34));
 
imagepolygon($img, $glasses, 21, imagecolorallocate($img,0, 0, 0));
imagefill($img, 809,125,imagecolorallocate($img, 0, 0, 0));
imagefill($img, 842,119,imagecolorallocate($img, 0, 0, 0));
//вывод изображения
header("Content-Type:image/jpeg");
imagejpeg($img,NULL,100);
?>