нанесение текста на картинку при помощи PHP

Если вы хотите получить что-то готовое и бесплатно, то пишите в этом разделе.
Ответить
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

нанесение текста на картинку при помощи PHP

Сообщение wierusna »

Всем привет :)
Ищу исходники этого генератора
http://webmasta.org/tools/texttoimage/
или вот http://schoolseo.ru/seotools/tools/texttoimage/

Если нет такого, нужно буквально 2 функции - Поле для ввода текста и размер шрифта.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: нанесение текста на картинку при помощи PHP

Сообщение wierusna »

Вот нашел что то интересное (но всеровно не то)
Пример работы можно посмотреть тут http://torrentphp.16mb.com/watermark.php

Кто нибудь может переписать код так, чтобы файл (картинка) не загружался на сервер а брался с сервера (тоесть файл будет уже залит) и на него просто наносился текст при нажатии кнопки СОЗДАТЬ
А для текста я уже нарыл код который будет передавать его с помощью POST из поля для ввода текста.

Вот сам код который нужно переписать

Код: Выделить всё

 <?php// Если запускать под Linux, то указаваем что используемый нами шрифт лежит в этой же директорииputenv('GDFONTPATH=' . realpath('.')); // задаем переменные$image_path = "watermark.png";  // изображение$font_path = "GILSANUB.TTF";    // шрифт$font_size = 30;                // размер шрифта в px$water_mark_text = "site.name"; // текст // подключаем используемые функцииinclude 'watermark.func.php'; $demo_image= "";// если нажата кнопка загрузкиif(isset($_POST['createmark'])){    // директория для хранения загружаемых изображений    $path = "uploads/";    // массив разрешенных расширений    $valid_formats = array("jpg", "bmp","jpeg");    // получаем имя загружаемого изображения    $name = $_FILES['imgfile']['name'];    // имя есть, то:    if(strlen($name))    {        // получаем тип загружаемого файла        $ext = explode("/", $_FILES['imgfile']['type']);        // если расширение принадлежит массиву разрешенных расширений и размер <= 2Мб, то загружаем изображение        if(in_array($ext[1],$valid_formats)&& $_FILES['imgfile']['size'] <= 2*1024*1024)        {            // загружаем изображение            $upload_status = move_uploaded_file($_FILES['imgfile']['tmp_name'], $path.$_FILES['imgfile']['name']);            // при успешной загрузке                     if($upload_status)            {                // задаем директорию и имя для сохранения нового изображения                $new_name = $path.time().".jpg";                // добавляем водяной знак: watermark_text() - для текста, watermark_image() - для изображения                if(watermark_text($path.$_FILES['imgfile']['name'], $new_name))                    $demo_image = $new_name;                        }            else                $msg="Загрузка не удалась!";        }        else            $msg="Превышен размер разружаемого файла (Max 2Мб). Либо изображение имеет не верный формат";    }} ?><html>    <head>        <title></title>    </head>    <body>            <form name="imageUpload" id="imageUpload" method="post" enctype="multipart/form-data" >            <fieldset>                <legend>Загрузка изображения</legend>                Изображение :<input type="file" name="imgfile" id="imgfile"/><br />                <input type="submit" name="createmark" id="createmark" value="Загрузка" />            </fieldset>               <?php                if(!empty($demo_image))                    echo '<br/><center><img src="'.$demo_image.'" border="1"/></center>';                else                    echo '<h3>'.$msg.'</h3>';            ?>        </form>           </body></html>  
 
А это я так понял вспомогательный файл для обработки
 

Код: Выделить всё

 <?php /** * Наложение водяного знака в виде изображения * @param $oldimage_name - исходное изображение * @param $new_image_name - выходное изображение * @return Boolean */function watermark_image($oldimage_name, $new_image_name){    // получаем имя изображения, используемого в качестве водяного знака        global $image_path;    // получаем размеры исходного изображения    list($owidth,$oheight) = getimagesize($oldimage_name);    // задаем размеры для выходного изображения        $width = 600;    $height = 300;        // создаем выходное изображение размерами, указанными выше    $im = imagecreatetruecolor($width, $height);    $img_src = imagecreatefromjpeg($oldimage_name);    // наложение на выходное изображение, исходного    imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);    $watermark = imagecreatefrompng($image_path);    // получаем размеры водяного знака    list($w_width, $w_height) = getimagesize($image_path);    // определяем позицию расположения водяного знака        $pos_x = $width - $w_width;     $pos_y = $height - $w_height;    // накладываем водяной знак    imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height);    // сохраняем выходное изображение, уже с водяным знаком в формате jpg и качеством 100    imagejpeg($im, $new_image_name, 100);    // уничтожаем изображения    imagedestroy($im);    unlink($oldimage_name);    return true;} /** * Наложение водяного знака в виде текста * @param $oldimage_name - исходное изображение * @param $new_image_name - выходное изображение * @return Boolean */function watermark_text($oldimage_name, $new_image_name){    // получение значений шрифта, размера и текста, используемых для наложение    global $font_path, $font_size, $water_mark_text;    // получаем размеры исходного изображения    list($owidth,$oheight) = getimagesize($oldimage_name);    // задаем размеры для выходного изображения         $width = 600;    $height = 300;    // создаем выходное изображение размерами, указанными выше    $image = imagecreatetruecolor($width, $height);    $image_src = imagecreatefromjpeg($oldimage_name);    // наложение на выходное изображение, исходного    imagecopyresampled($image, $image_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);    // задаем цвет для накладываемого текста    $blue = imagecolorallocate($image, 79, 166, 185);    // определяем позицию расположения водяного знака            $pos_x = $width - (strlen($water_mark_text)-1)*$font_size;     $pos_y = $height;    // наложение текста на выходное изображение         imagettftext($image, $font_size, 0, $pos_x, $pos_y, $blue, $font_path, $water_mark_text);    // сохраняем выходное изображение, уже с водяным знаком в формате jpg и качеством 100    imagejpeg($image, $new_image_name, 100);    // уничтожаем изображения    imagedestroy($image);    unlink($oldimage_name);    return true;} ?>  
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: нанесение текста на картинку при помощи PHP

Сообщение wierusna »

Вот нужно такое реализовать http://forum.ru-board.com/topic.cgi?for ... opic=13657

п.с. только вместо полосок должны быть картинки которые УЖЕ загружены на сервер и на них осталось только наложить надпись и предоставить пользователю возможность скачать картинку с надписью

ПОМОГИТЕ ПОЖАЛУЙСТА! Я В ПХП НЕ РАЗБИРАЮСЬ!
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: нанесение текста на картинку при помощи PHP

Сообщение boombast1k »

Ты хочешь генератор мемов сделать?
Если да,то у меня есть готовый исходник...могу продать.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: нанесение текста на картинку при помощи PHP

Сообщение wierusna »

Ты хочешь генератор мемов сделать?
Если да,то у меня есть готовый исходник...могу продать.
Пока жду помощи от форумчан
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: нанесение текста на картинку при помощи PHP

Сообщение wierusna »

Что так никто и не поможет что ли?
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: нанесение текста на картинку при помощи PHP

Сообщение sanych_dv »

Вы хотите, чтобы вам за вас сделали готовое решение, вот и весь ответ на ваш вопрос.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: нанесение текста на картинку при помощи PHP

Сообщение wierusna »

sanych_dv писал(а):Вы хотите, чтобы вам за вас сделали готовое решение, вот и весь ответ на ваш вопрос.
Раздел называется ПРОСИМ ГОТОВОЕ И БЕСПЛАТНОЕ не так ли? да и заменить вроде нужно пару строк....для вас 5 минут работы.
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: нанесение текста на картинку при помощи PHP

Сообщение alexei »

Тема имеет право на существование, но ее апы влияют отрицательно на шансы помощи.

Вот, лично я помогать не буду Вам с этим.
Ответить