Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Наложение текста на картинку
 
 автор: Redflame   (17.12.2006 в 22:09)   письмо автору
 
 

Никак не хочет текст на картинку вставляться.
Что не правильно?


<?php 
header
("Content-type: image/jpeg"); 
if (!isset(
$q)) $q 100
$src imagecreatefromjpeg($f); 
$w_src imagesx($src); 
$h_src imagesy($src); 
if (
$w_src != $w

          if (
$w>100
          { 
           
$ratio $w_src/$w
           
$w_dest round($w_src/$ratio); 
           
$h_dest round($h_src/$ratio); 
           
$dest imagecreatetruecolor($w_dest,$h_dest); 
           
imagecopyresampled($dest$src0000$w_dest$h_dest$w_src$h_src); 
           
$black imagecolorallocate($dest000); 
           
$font 'arial.ttf'
           
$text 'Testing...'
           
imagettftext($dest50305050$black$font$text); 
          } 
          if (
$w<101
          { 
           
$dest imagecreatetruecolor($w,$w); 
           if (
$w_src>$h_src
           
imagecopyresampled($dest$src00round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0$w$wmin($w_src,$h_src), min($w_src,$h_src)); 
           if (
$w_src<$h_src
           
imagecopyresampled($dest$src0000$w$wmin($w_src,$h_src), min($w_src,$h_src)); 
           if (
$w_src==$h_src
           
imagecopyresampled($dest$src0000$w$w$w_src$w_src); 
          } 
          
imagejpeg($dest,'',$q); 
          
imagedestroy($dest); 
          
imagedestroy($src); 
          } 
else 

readfile($f); 

?>

   
 
 автор: cheops   (18.12.2006 в 14:22)   письмо автору
 
   для: Redflame   (17.12.2006 в 22:09)
 

А какие-нибудь сообщени об ошибках выводятся?

   
 
 автор: Redflame   (18.12.2006 в 20:04)   письмо автору
 
   для: cheops   (18.12.2006 в 14:22)
 

говорит типа: Could not find/open font in //// а потом оч много строк белеберды.

   
 
 автор: Redflame   (18.12.2006 в 20:10)   письмо автору
 
   для: cheops   (18.12.2006 в 14:22)
 

ttf. положил туда же где и php
почему его не грузит не знаю.

   
 
 автор: ddhvvn   (18.12.2006 в 20:21)   письмо автору
 
   для: Redflame   (18.12.2006 в 20:10)
 

Так у Вас сначала $dest создается? потом рисуется текст на рисунке $dest, и потом опять создается :-( Непонятно что-то

+ еще в imagettftext указаны не все параметры, попробуйте так

<?php
  imagettftext
($dest14050305050$black$font$text);
?>

   
 
 автор: Redflame   (18.12.2006 в 20:25)   письмо автору
 
   для: ddhvvn   (18.12.2006 в 20:21)
 

Там условия если передан параметр ширины больше 100 то картинка формируется по одному если меньше то по другому.

   
 
 автор: Redflame   (18.12.2006 в 20:28)   письмо автору
 
   для: Redflame   (18.12.2006 в 20:25)
 

http://www.ra-slon.ru/Resize.php?f=Serigraphy_lighter/001.jpg&w=640

Вот что выдаёт

   
 
 автор: Redflame   (18.12.2006 в 20:29)   письмо автору
 
   для: ddhvvn   (18.12.2006 в 20:21)
 

Я не силён в PHP вы советуете убрать строку

imagejpeg($dest,'',$q);

   
 
 автор: Redflame   (18.12.2006 в 20:31)   письмо автору
 
   для: Redflame   (18.12.2006 в 20:29)
 


<?php
header
("Content-type: image/jpeg");
if (!isset(
$q)) $q 100;
$src imagecreatefromjpeg($f);
$w_src imagesx($src);
$h_src imagesy($src);
if (
$w_src != $w)
{
        
        
$ratio $w_src/$w;
        
$w_dest round($w_src/$ratio);
        
$h_dest round($h_src/$ratio);
// Создаю картину

        
$dest imagecreatetruecolor($w_dest,$h_dest); 

// Вставляю другую в созданую
        
imagecopyresampled($dest$src0000$w_dest$h_dest$w_src$h_src); 
        
$black imagecolorallocate($dest000);
        
$font 'arial.ttf';
        
$text 'Testing...';

// пишу на ней текст
        
imagettftext($dest14050305050$black$font$text);

// вывожу в браузер
        
imagejpeg($dest,'',$q);
        
imagedestroy($dest);
        
imagedestroy($src);
  }
else
{
 
readfile($f);
}
?>


Так проще понять

   
 
 автор: ddhvvn   (19.12.2006 в 10:11)   письмо автору
 
   для: Redflame   (18.12.2006 в 20:31)
 

Скрипт понял. Но он у Вас работает - то сейчас?

   
 
 автор: XPraptor   (20.12.2006 в 11:34)   письмо автору
 
   для: ddhvvn   (19.12.2006 в 10:11)
 

$font = 'arial.ttf'; это для функции полный путь к файлу шрифта с учетом регистра.
Если сервак не настроен, то шрифтовую директорию не найдет функция, и если регистр не соблюден тоже.
Поэтому кладите файл шрифта в свою папку к скрипту и указывайте к нему путь.
$font = $_SERVER["DOCUMENT_ROOT"] . '/папка с шрифтом/ARIAL.TTF';

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования