Saturn, Нафиг он здесь нужен?Здесь мой модуль.
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.'">»'.$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; Saturn (17.04.2011/22:03)Мое
вот код сегодня выложеного
[php]// Script: LogoMaker for JohnCMS 3.x.x
// Author: Zhumarin
// E-mail: Zhumarin@spaces.ru
// ICQ: 576447975
// URL: Evilworlds.ru
define('_IN_JOHNCMS',1);
$t
а вот код пабличного но только в троих файлах
image.php :
<?php
# Гет раппределители которые сразуже обрабатываюсться на удаление хтмл тэгов
$p_font=$_GET['font']; # Шрифт
$p_text=$_GET['text']; # Текст
$p_angle=$_GET['angle']; # Угол наклона
$p_bg1=$_GET['bg1']; # Фон Rgb
$p_bg2=$_GET['bg2']; # Фон rGb
$p_bg3=$_GET['bg3']; # Фон rgB
$p_txtcolor1=$_GET['txtcolor1']; # Цет теста Rgb
$p_txtcolor2=$_GET['txtcolor2']; # Цет теста rGb
$p_txtcolor3=$_GET['txtcolor3']; # Цет теста rgB
$p_size=$_GET['size']; # Размер шрифта
$p_format=$_GET['format']; # Формат изображения
$b_alpha=$_GET['b_alpha']; # Параметр прозрачности
if (ereg("[A-Za-zа-яА-Я,$,>,<,',`,;,/,\,&,#,,,.,:,*,@,!,%,^,(,)]","$p_angle$p_size"))
{
$textl = 'Создание логотипа';
require_once ("head.php");
echo "<div class='bmenu'>Создание логотипа!</div>";
echo "<div class='menu'>Запрещенные символы!/div>";
echo "<hr/><div class='menu'><a href='create.php'>Назад</a><br/>";
echo '<a href="/">На главную</a></div>';
require_once ("end.php");
exit;
}
if (ereg("[A-Zg-zа-яА-Я,$,>,<,',`,;,/,\,&,#,,,.,:,*,@,!,%,^,(,)]","$b_alpha"))
{
$textl = 'Создание логотипа';
require_once ("head.php");
echo "<div class='bmenu'>Создание логотипа!</div>";
echo "<div class='menu'>Прозрачность только 0-127!</div>";
echo "<hr/><div class='menu'><a href='create.php'>Назад</a><br/>";
echo '<a href="/">На главную</a></div>';
require_once ("end.php");
exit;
}
if (ereg("[J-Zj-zа-яА-Я,$,>,<,',`,;,/,\,&,#,,,.,:,*,@,!,%,^,(,)]","$p_bg1$p_bg2$p_bg3$p_txtcolor1$p_txtcolor2$p_txtcolor3"))
{
$textl = 'Создание логотипа';
require_once ("head.php");
echo "<div class='bmenu'>Создание логотипа!</div>";
echo "<div class='menu'>Запрещенные символы!</div>";
echo "<hr/><div class='menu'><a href='create.php'>Назад</a><br/>";
echo '<a href="/">На главную</a></div>';
require_once ("end.php");
exit;
}
if (ereg("[а-яА-Я,$,>,<,',`,;,/,\,&,#,,,:,*,@,!,%,^,(,)]","$p_text"))
{
$textl = 'Создание логотипа';
require_once ("head.php");
echo "<div class='bmenu'>Создание логотипа!</div>";
echo "<div class='menu'>Надпись только латиницей, или запрещенные символы!</div>";
echo "<hr/><div class='menu'><a href='create.php'>Назад</a><br/>";
echo '<a href="/">На главную</a></div>';
require_once ("end.php");
exit;
}
# Если прозр. больше 127 установить 127 если меньше 0 установить 0 если не задано, установить 0
if ($b_alpha>127){$b_alpha="127";}elseif($b_alpha==0){$b_alpha="0";}elseif($b_alpha==""){$b_alpha="0";}
if ($p_font==""){
$textl = 'Создание логотипа';
require_once ("head.php");
echo "<div class='bmenu'>Создание логотипа!</div>";
echo "<div class='menu'>Нет шрифта!</div>";
echo "<hr/><div class='menu'><a href='create.php'>Назад</a><br/>";
echo '<a href="/">На главную</a></div>';
require_once ("end.php");
exit; }
if ($p_size>40){$p_size="40";} # Если размер больше 40, задаем 40
if ($p_angle==""){$p_angle="0";} # Если поворот не задан, задать 0
if ($p_angle>180){$p_angle="180";} # Если много задали, то снижать
if ($p_angle<-180){$p_angle="-180";} # Если поворот больше -180 задать 180
if ($p_text==""){$p_text="RUSANAL.RU";} # Просьба не менять в этой строке ничего
(уважте автора)
if ($p_text=="RUSANAL.RU"){$b_alpha="127";} # Если текст пуст и установилась RUSANAL.RU, то прозрачность пишем 127 (мксимальн.)
# Установка пути по которому находиться нужный шрифт TrueType
$font = getcwd()."/fonts/$p_font.ttf";
$angle = $p_angle; # Угол поворота
$font_size = $p_size; # Размер шрифта
$text = "$p_text"; # Выводимый текст
$pos= ImageTTFBbox($font_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, $p_bg1, $p_bg2, $p_bg3, $b_alpha);
$textcolor = ImageColorAllocate($im, $p_txtcolor1, $p_txtcolor2, $p_txtcolor3);
# Устоновка цвета текста
ImageTTFtext($im, $font_size, $angle, $pos[0]-$min_x, $pos[1]-$min_y,
$textcolor, $font, $text);
# Вывод текста на изображение
if ($p_format=="png"){@HEADER("Content-type: image/png"); ImagePNG($im);}
if ($p_format=="gif"){@HEADER("Content-tupe: image/gif"); ImageGIF($im);}
if ($p_format=="jpeg"){@HEADER("Content-type: image/jpeg"); ImageJPEG($im, "", 100);}
ImageDestroy($im);$textl = 'Создание логотипа';
require_once ("head.php");
echo "<div class='bmenu'>Создание логотипа!</div>";
echo "<form action='download.php' method='post'>";
echo "<div class='menu'>Текст надписи[a-Z]<br/><input name='text' type='text' value=''/><br/>";
echo "Угол поворота [1-180]<br/><input name='angle' type='text' value='1'/><br/>";
echo "Размер шрифта [1-40]<br/><input name='size' type='text' value='20'/><br/>";
echo "Цвет фона<br/><input name='bg' type='text' value='000000'/><br/>";
echo "Прозрачность (фон) [0-127]<br/>(только PNG)<br/><input name='b_alpha' maxlength='3' type='text' value='0'/><br/>";
echo "Цвет текста<br/><input name='txtcolor' type='' value='FF0000'/><br/>";
echo"Стиль шрифта<br/>
<select name='font' class='textbox'>";
$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>$file</option>";
}}
echo "</select><br/>";
closedir ($dir);
echo "Формат<br/><select size='1' name='format'>
<option value='jpeg'>JPEG</option>
<option value='png'>PNG</option>
<option value='gif'>GIF</option>
</select>";
echo "<br/><input type='submit' value='Получить'/>";
echo "</div></form>";
echo '<hr/>';
echo '<div class="menu"><a href="index.php">Назад</a><br/>';
echo '<a href="/">На главную</a></div>';echo "<div class='bmenu'>Создание логотипа!</div>";
echo '<div class="menu">Логотип создан!<br/>';
$image="image.php?text=$p_text&angle=$p_angle&size=$p_size&bg1=$p_bg1&bg2=$p_bg2&bg3=$p_bg3&txtcolor1=$p_txtcolor1&txtcolor2=$p_txtcolor2&txtcolor3=$p_txtcolor3&font=$p_font&format=$p_format&b_alpha=$b_alpha";
echo '<img src="'.$image.'"/></div>';
echo '<div class="menu"><a href="'.$image.'">Скачать</a></div>';
echo "<hr/><div class='menu'><a href='create.php'>Назад</a><br/>";
echo '<a href="/">На главную</a></div>'; Saturn, Куча быдлокода, + конвертер HEX в DEC на str_replace это бред ![]()
а как по мне так код оттуда выдран и местами чуть изменён
Z3RO (17.04.2011/21:28)Лично я кричать не буду
Ты бы сказал, что GDlib требуется, а то сейчас школоло будут кричать, что мод не рабочий.
Saturn, код из image.php позаимствовал, нелюблю с графикой работать
мне больше нравится работать с mysql и парсингом текста http://evilworlds.ru/bbcodegen/
Azq2 (17.04.2011/22:27)не толко из image.php а отовсюду и громко назвал себя автором
Saturn, код из image.php позаимствовал, нелюблю с графикой работатьмне больше нравится работать с mysql и парсингом текста http://evilworlds.ru/bbcodegen/