LogoMaker by Zhumarin

Тема закрыта
715
.
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;
.
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);

create.php
$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>';

ну и download.php , его весь не копировал а только используемую часть
echo "<div class='bmenu'>Создание логотипа!</div>";


echo '<div class="menu">Логотип создан!<br/>';
$image="image.php?text=$p_text&amp;angle=$p_angle&amp;size=$p_size&amp;bg1=$p_bg1&amp;bg2=$p_bg2&amp;bg3=$p_bg3&amp;txtcolor1=$p_txtcolor1&amp;txtcolor2=$p_txtcolor2&amp;txtcolor3=$p_txtcolor3&amp;font=$p_font&amp;format=$p_format&amp;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)
Saturn, код из image.php позаимствовал, нелюблю с графикой работать мне больше нравится работать с mysql и парсингом текста http://evilworlds.ru/bbcodegen/
не толко из image.php а отовсюду и громко назвал себя автором
Всего: 24