Просмотр поста

.
Saturn

вот код сегодня выложеного

//  Script: LogoMaker for JohnCMS 3.x.x
//  Author: Zhumarin
//  E-mail: Zhumarin@spaces.ru
//  ICQ: 576447975
//  URL: Evilworlds.ru
define('_IN_JOHNCMS',1);
$textl = 'Создание логотипа';
require_once '../incfiles/core.php';
$bg_color = check(substr($_REQUEST['color_bg'], 0, 6));
$txt_color = check(substr($_REQUEST['color_txt'], 0, 6));
$r_bg = hexdec(substr($bg_color, 0, 2));
$g_bg =hexdec(substr($bg_color, 2, 2));
$b_bg = hexdec(substr($bg_color, 4, 2));
$r_txt = hexdec(substr($txt_color, 0, 2));
$g_txt = hexdec(substr($txt_color, 2, 2));
$b_txt = hexdec(substr($txt_color, 4, 2));
$q = intval($_REQUEST['q']);
$font = check($_REQUEST['font']);
$text = check(trim(substr($_REQUEST['text'], 0, 60)));
$a_txt = intval($_REQUEST['a_txt']);
$a_bg = intval($_REQUEST['a_bg']);
$size = intval($_REQUEST['size']);
$type = intval($_REQUEST['type']);
$angle = intval($_REQUEST['angle']);
if($a_bg>127) $a_bg = 127;
if($a_bg<0) $a_bg = 0;
if($size>40) $size = 40;
if($q>100) $q = 100;
if($q<0) $q = 0;
if($angle>180) $angle = 180;
if ($angle<-180) $angle = -180;
if(empty($text)) $text = 'Evilworlds.ru';
switch($act)
{
default:
require_once '../incfiles/head.php';
echo '<div class="phdr">Создание логотипа</div>';
echo '<form action="index.php?act=down" method="post">';
echo '<div class="menu"><b>Текст надписи:</b><br/>
<input name="text" type="text" value="Evilworlds.ru"/><br/>';
echo '<b>Угол поворота [1-180]:</b><br/>
<input name="angle" type="text" value="1"/><br/>';
echo '<b>Размер шрифта [1-40]:</b><br/><input name="size" type="text" value="20"/><br/>';
echo '<b>Цвет фона:</b><br/><input name="color_bg" type="text" value="000000"/><br/>';
echo '<b>Прозрачность (фон) [0-127]:</b><br/><span class="red">(только PNG)</span><br/><input name="a_bg" maxlength="3" type="text" value="0"/><br/>';
echo '<b>Качество JPEG:</b><br/><input name="q" type="text" value="100" size="3"/><br/>';
echo '<b>Цвет текста:</b><br/><input name="color_txt" type="text" value="FF0000"/><br/>';
echo '<b>Шрифт:</b><br/>
<select name="font">';
$dir = opendir ("fonts/");
while ($file = readdir ($dir))
{
if (( $file != ".") && ($file != "..") && ($file != ".htaccess") && ($file != "index.php")  && ($file != "$css.css")  )
{
$file= str_replace(".ttf","",$file);
echo '<option value="'.$file.'">&raquo;'.$file.'</option>';
}
}
echo '</select><br/>';
closedir ($dir);
echo '<b>Формат:</b><br/><select size="1" name="type">
<option value="0">JPEG</option>
<option value="1" selected="selected">PNG</option>
<option value="2">GIF</option>
</select>';
echo '<br/><input type="submit" value="Получить"/>';
echo '</div></form>';
echo '<div class="phdr"><a href="/">Назад</a></div>';
require_once ("../incfiles/end.php");
break;
case "down":
require_once '../incfiles/head.php';
echo '<div class="phdr">Создание логотипа</div>';
echo '<b>Логотип создан!</b><br/><img src="index.php?act=image&color_txt='.$txt_color.'&color_bg='.$bg_color.'&angle='.$angle.'&a_bg='.$a_bg.'&font='.$font.'&size='.$size.'&type='.$type.'&text='.urlencode($text).'&q='.$q.'" alt="image"/><br/>Вы можете <a href="index.php?act=image&q='.$q.'&color_txt='.$txt_color.'&color_bg='.$bg_color.'&angle='.$angle.'&a_bg='.$a_bg.'&font='.$font.'&type='.$type.'&size='.$size.'&text='.urlencode($text).'">скачать логотип</a> или <a href="index.php">создать еще.</a>';
echo '<div class="phdr"><a href="/">Назад</a></div>';
require_once ("../incfiles/end.php");
break;
case "image":
$font = "fonts/$font.ttf";
if(!file_exists($font)) die('err: '.$font);
$pos = ImageTTFBbox($size, $angle, $font, $text);
$min_x = min($pos[0], $pos[2], $pos[4], $pos[6]);
$max_x = max($pos[0], $pos[2], $pos[4], $pos[6]);
$width = $max_x - $min_x + 1;
$min_y = min($pos[1], $pos[3], $pos[5], $pos[7]);
$max_y = max($pos[1], $pos[3], $pos[5], $pos[7]);
$height = $max_y-$min_y + 1;
$im = ImageCreate($width + 1, $height + 1);
$bg = ImageColorAllocateAlpha($im, $r_bg, $g_bg, $b_bg, $a_bg);
$text_color = ImageColorAllocate($im, $r_txt, $g_txt, $b_txt);
ImageTTFtext($im, $size, $angle, $pos[0]-$min_x, $pos[1]-$min_y,
$text_color, $font, $text);
if ($type==1)
{
header("Content-type: image/png");  ImagePNG($im);
}elseif ($type==2)
{
header("Content-type: image/gif");  ImageGIF($im);
}elseif ($type==0)
{
header("Content-type: image/jpeg");  ImageJPEG($im, "", $q);
}
ImageDestroy($im);
break;