|
|
|
| Никак не хочет текст на картинку вставляться.
Что не правильно?
<?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, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
$black = imagecolorallocate($dest, 0, 0, 0);
$font = 'arial.ttf';
$text = 'Testing...';
imagettftext($dest, 50, 30, 50, 50, $black, $font, $text);
}
if ($w<101)
{
$dest = imagecreatetruecolor($w,$w);
if ($w_src>$h_src)
imagecopyresampled($dest, $src, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
if ($w_src<$h_src)
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
if ($w_src==$h_src)
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
}
imagejpeg($dest,'',$q);
imagedestroy($dest);
imagedestroy($src);
}
else
{
readfile($f);
}
?>
|
| |
|
|
|
|
|
|
|
для: Redflame
(17.12.2006 в 22:09)
| | А какие-нибудь сообщени об ошибках выводятся? | |
|
|
|
|
|
|
|
для: cheops
(18.12.2006 в 14:22)
| | говорит типа: Could not find/open font in //// а потом оч много строк белеберды. | |
|
|
|
|
|
|
|
для: cheops
(18.12.2006 в 14:22)
| | ttf. положил туда же где и php
почему его не грузит не знаю. | |
|
|
|
|
|
|
|
для: Redflame
(18.12.2006 в 20:10)
| | Так у Вас сначала $dest создается? потом рисуется текст на рисунке $dest, и потом опять создается :-( Непонятно что-то
+ еще в imagettftext указаны не все параметры, попробуйте так
<?php
imagettftext($dest, 14, 0, 50, 30, 50, 50, $black, $font, $text);
?>
|
| |
|
|
|
|
|
|
|
для: ddhvvn
(18.12.2006 в 20:21)
| | Там условия если передан параметр ширины больше 100 то картинка формируется по одному если меньше то по другому. | |
|
|
|
|
|
|
|
для: Redflame
(18.12.2006 в 20:25)
| | http://www.ra-slon.ru/Resize.php?f=Serigraphy_lighter/001.jpg&w=640
Вот что выдаёт | |
|
|
|
|
|
|
|
для: ddhvvn
(18.12.2006 в 20:21)
| | Я не силён в PHP вы советуете убрать строку
| |
|
|
|
|
|
|
|
для: 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, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
$black = imagecolorallocate($dest, 0, 0, 0);
$font = 'arial.ttf';
$text = 'Testing...';
// пишу на ней текст
imagettftext($dest, 14, 0, 50, 30, 50, 50, $black, $font, $text);
// вывожу в браузер
imagejpeg($dest,'',$q);
imagedestroy($dest);
imagedestroy($src);
}
else
{
readfile($f);
}
?>
|
Так проще понять | |
|
|
|
|
|
|
|
для: Redflame
(18.12.2006 в 20:31)
| | Скрипт понял. Но он у Вас работает - то сейчас? | |
|
|
|
|
|
|
|
для: ddhvvn
(19.12.2006 в 10:11)
| | $font = 'arial.ttf'; это для функции полный путь к файлу шрифта с учетом регистра.
Если сервак не настроен, то шрифтовую директорию не найдет функция, и если регистр не соблюден тоже.
Поэтому кладите файл шрифта в свою папку к скрипту и указывайте к нему путь.
$font = $_SERVER["DOCUMENT_ROOT"] . '/папка с шрифтом/ARIAL.TTF'; | |
|
|
|
|