prepare('SELECT * FROM `users` WHERE `id` = ?'); $_user -> execute([1]); $user = $_user -> fetch(); $coord = [ 'x' => $user['x'], 'y' => $user['y'] ]; $max_x = ($coord['x'] - 2 < 0 ? 0 : $coord['x'] - 2); $max_y = ($coord['y'] - 2 < 0 ? 0 : $coord['y'] - 2); $min_x = $coord['x'] + 3; $min_y = $coord['y'] + 3; $map_arr = [ '0.0' => '8.png', '0.1' => '1.png', '0.2' => '1.png', '0.3' => '1.png', '0.4' => '2.png', '1.0' => '7.png', '1.1' => '9.png', '1.2' => '9.png', '1.3' => '9.png', '1.4' => '3.png', '2.0' => '7.png', '2.1' => '9.png', '2.2' => '9.png', '2.3' => '9.png', '2.4' => '3.png', '3.0' => '7.png', '3.1' => '9.png', '3.2' => '9.png', '3.3' => '9.png', '3.4' => '3.png', '4.0' => '6.png', '4.1' => '5.png', '4.2' => '5.png', '4.3' => '5.png', '4.4' => '4.png', ]; switch($_GET['i']){ default: echo '
'; break; case 'image': $image = new Imagick(); $image->newImage(5*16, 5*16, new ImagickPixel('white')); $image->setImageFormat('png'); for ($x = $max_x; $x < $min_x; ++$x) { for ($y = $max_y; $y < $min_y; ++$y) { if ($map_arr[$x.'.'.$y]) $map = new Imagick('C:/OpenServer/domains/lol/map/'.$map_arr[$x.'.'.$y]); else $map = new Imagick('C:/OpenServer/domains/lol/map/7.png'); $image->compositeImage($map, $map->getImageCompose(), $y * 16, $x * 16); if($coord['x'] == $x and $coord['y'] == $y){ $user = new Imagick('C:/OpenServer/domains/lol/char/1/1.png'); $image->compositeImage($user, $user->getImageCompose(), $y * 16, $x * 16); } } } header('Content-type: image/png'); echo $image; break; }