Файл: copy.php
Строк: 24
<?php
$img = htmlentities(base64_decode(str_rot13($_GET['img']))); // изображение
$i = htmlentities(base64_decode(str_rot13($_GET['i']))); // поворот
if ($img == '')
{
    header('Location: index.php?isset=403');
    die();
}
if (!preg_match('/^[0-9-]+$/si', $i))
{
    header('Location: index.php?isset=403');
    die();
}
    $txt = strtoupper($_SERVER['HTTP_HOST']); // текст наложения
    $size_img = @getimagesize($img); // параметры картинки
    if ($size_img[2] == 2) $src_img = imagecreatefromjpeg($img);
    elseif ($size_img[2] == 1) $src_img = imagecreatefromgif($img);
    elseif ($size_img[2] == 3) $src_img = imagecreatefrompng($img);
    if (!$src_img) exit();
    $color = imagecolorallocatealpha($src_img, 255, 225, 255, 0); // Назначаем цвет текста
    $col = imagecolorallocate($src_img, 125, 174, 240); // этим цветом заливаем
    $font_file = 'ico/comic.ttf'; // шрифт
    $img_x = imagesx($src_img);
    $img_y = imagesy($src_img);
    $height_font = $img_x/30; // размер шрифта
    $angle = 0; // угол поворота
    #imagettftext($src_img, $height_font, $angle, 2, $img_y-2, $color, $font_file, $txt);
    $src_img = imagerotate($src_img, $i, $col); // поворот изображения
    /*и вот только теперь мы можем узнать размеры нужной нам подложки 
      создаем ее по новым размерам исходного изображения (после поворота)*/
    $ims = imagecreatetruecolor($img_x, $img_y);
    /*устанавливаем цвет кисти для подложки (ранее определенный уже) 
     и указываем его как прозрачный*/
    imagecolortransparent($ims, $col);
    imagefill($ims, 0, 0, $col); // заливаем подложку прозрачным цветом
    imagecopymerge($ims, $src_img, 0, 0, 0, 0, $img_x, $img_y, 100); // объеденяем изображение с подложкой
    // выводим результат
    if ($size_img[2] == 2)
    {
        header('Content-type: image/jpeg');
        imagejpeg($src_img);
    }
    elseif ($size_img[2] == 1)
    {  
        header('Content-type: image/gif');
        imagegif($src_img);
    }
    elseif ($size_img[2] == 3)
    {
        header('Content-type: image/png');
        imagepng($src_img);
    }
    // освобождаем память
    imagedestroy($src_img); 
    imagedestroy($ims);
?>