Форум -> Files (модуль и блок) -> наложение водянного знака на картинку к файлу | наложение водянного знака на картинку к файлу |
---|
rocksmart | Дата: 26.04.2008, в 13:50 | Сообщение №21 | СтарожилПользователь №: 261 Сообщений: 330
| НЕ могу понять заменил на твой код а ни чего не происходит
Код | 1
| // Format image preview PHP GD
function create_img_gd($imgfile, $imgthumb, $newwidth) {
$imgfile = $Masiv[$i]['img'];
$imgthumb = $imgfile;
$imginfo = @getimagesize($imgfile);
/* ========== НАСТРОЙКИ ========== */
$samtext = "smartperm.ru";
$font_name = "NewtonC.ttf";
$font_height = 16;
$font_x = $imginfo[0] - 130;
$font_y = 25;
/*
echo "<pre>";
print_r($imginfo);
echo "</pre>";
*/
if (function_exists("imagecreate")) {
$imginfo = @getimagesize($imgfile);
switch($imginfo[2]) {
case 1:
$type = IMG_GIF;
break;
case 2:
$type = IMG_JPG;
break;
case 6:
$type = IMG_WBMP;
break;
case 4:
$type = IMG_WBMP;
break;
case 3:
$type = IMG_PNG;
break;
default:
# return $imgfile;
break;
} switch($type) {
case IMG_GIF:
if (!function_exists("imagecreatefromgif")) return $imgfile;
$srcImage = @imagecreatefromgif("$imgfile");
break;
case IMG_JPG:
if (!function_exists("imagecreatefromjpeg")) return $imgfile;
$srcImage = @ImageCreateFromJpeg($imgfile);
break;
case IMG_PNG:
if(!function_exists("imagecreatefrompng")) return $imgfile;
$srcImage = @imagecreatefrompng("$imgfile");
break;
case IMG_WBMP:
if (!function_exists("imagecreatefromwbmp")) return $imgfile;
$srcImage = @imagecreatefromwbmp("$imgfile");
break;
default:
# return $imgfile;
} if ($srcImage){
$srcWidth = $imginfo[0];
$srcHeight = $imginfo[1];
# $ratioWidth = $srcWidth / $newwidth;
$destWidth = $imginfo[0]; #$newwidth;
$destHeight = $imginfo[1]; #$srcHeight / $ratioWidth;
$destImage = @imagecreatetruecolor($destWidth, $destHeight);
@imagealphablending($destImage, true);
@imagealphablending($srcImage, false);
@imagecopy($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight);
$text_color = @ImageColorAllocate($destImage, 0, 0, 0);
@imagettftext($destImage, $font_height, 0, $font_x, ($font_y+1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, $font_x, ($font_y-1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x+1), $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x-1), $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x+1), ($font_y-1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x-1), ($font_y-1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x+1), ($font_y+1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x-1), ($font_y+1), $text_color, $font_name, $samtext);
$text_color = @ImageColorAllocate($destImage, 255, 255, 255);
@imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
#imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
# @imagecopyresized($destImage, $srcImage, 75, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
switch($type) {
case IMG_GIF:
@imagegif($destImage, "$imgthumb");
break;
case IMG_JPG:
@imagejpeg($destImage, "$imgthumb");
break;
case IMG_PNG:
@imagepng($destImage, "$imgthumb");
break;
case IMG_WBMP:
@imagewbmp($destImage, "$imgthumb");
break;
}
@imagedestroy($srcImage);
@imagedestroy($destImage);
# echo $imgthumb;
} else {
# echo $imgfile;
}
}
} |
|
| | | Serg_pnz | Дата: 26.04.2008, в 13:52 | Сообщение №22 | АдминистраторПользователь №: 1 Сообщений: 2242
| NewtonC.ttf должен тогда лежать в корне сайта
Код | 1
| $imgfile = $Masiv[$i]['img']; |
- это вообще лишнее
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 26.04.2008 г. в 13:53:36 | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | rocksmart | Дата: 26.04.2008, в 14:03 | Сообщение №23 | СтарожилПользователь №: 261 Сообщений: 330
| alfainfo, почему он у меня не работает |
| | rocksmart | Дата: 26.04.2008, в 14:05 | Сообщение №24 | СтарожилПользователь №: 261 Сообщений: 330
| Serg_pnz, NewtonC.ttf это что картинка. Я просто гиф картинку переименовал в этот файл и все.
NewtonC.ttf должен тогда лежать в корне сайта-туда и положил |
| | james | Дата: 26.04.2008, в 14:14 | Сообщение №25 | УчастникПользователь №: 18 Сообщений: 57
| просно нада готовый класс присоединить для про версий на аджакс аплоадер, а для лайт модернизировать upload |
| | james | Дата: 26.04.2008, в 14:26 | Сообщение №26 | УчастникПользователь №: 18 Сообщений: 57
| rocksmart, ttf - это файлы шрифтов! они лежат в windows/fonts |
| | rocksmart | Дата: 26.04.2008, в 14:31 | Сообщение №27 | СтарожилПользователь №: 261 Сообщений: 330
| Блин два дня сижу с этим наложением. Не могу понять ни кто не знает или всем лень. |
| | Serg_pnz | Дата: 26.04.2008, в 14:51 | Сообщение №28 | АдминистраторПользователь №: 1 Сообщений: 2242
| Блииин. Я всё перепутал. Простите. Вот мануал как сделать надпись на картинке.
Редактируем sources.php
1. В функции function upload находим 2 раза строки
и ПЕРЕД ними вставляем
Код | 1
| create_watermark($directory."/".$newname); |
2. Так же добавим функцию наложения Код | 1
| function create_watermark($imgfile) {
if (function_exists("imagecreate")) {
$imginfo = @getimagesize($imgfile);
// start 1
$samtext = "сайт.ru";
$font_name = "NewtonC.ttf";
$font_height = 16;
$font_x = $imginfo[0] - 130;
$font_y = 25;
$imgthumb = $imgfile;
// end 1
/*
echo "<pre>";
print_r($imginfo);
echo "</pre>";
*/
switch($imginfo[2]) {
case 1:
$type = IMG_GIF;
break;
case 2:
$type = IMG_JPG;
break;
case 3:
$type = IMG_PNG;
break;
case 4:
$type = IMG_WBMP;
break;
default:
// return $imgfile;
break;
}
switch($type) {
case IMG_GIF:
if (!function_exists("imagecreatefromgif")) return $imgfile;
$srcImage = @imagecreatefromgif("$imgfile");
break;
case IMG_JPG:
if (!function_exists("imagecreatefromjpeg")) return $imgfile;
$srcImage = @ImageCreateFromJpeg($imgfile);
break;
case IMG_PNG:
if(!function_exists("imagecreatefrompng")) return $imgfile;
$srcImage = @imagecreatefrompng("$imgfile");
break;
case IMG_WBMP:
if (!function_exists("imagecreatefromwbmp")) return $imgfile;
$srcImage = @imagecreatefromwbmp("$imgfile");
break;
default:
// return $imgfile;
}
if ($srcImage){
$srcWidth = $imginfo[0];
$srcHeight = $imginfo[1];
$ratioWidth = $srcWidth;
$destWidth = $imginfo[0];
$destHeight = $imginfo[1];
$destImage = @imagecreatetruecolor($destWidth, $destHeight);
@imagealphablending($destImage, true);
@imagealphablending($srcImage, false);
// @imagecopyresized($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
@imagecopy($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight);
$text_color = @ImageColorAllocate($destImage, 0, 0, 0);
@imagettftext($destImage, $font_height, 0, $font_x, ($font_y+1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, $font_x, ($font_y-1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x+1), $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x-1), $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x+1), ($font_y-1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x-1), ($font_y-1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x+1), ($font_y+1), $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, ($font_x-1), ($font_y+1), $text_color, $font_name, $samtext);
$text_color = @ImageColorAllocate($destImage, 255, 255, 255);
@imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
@imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
#imagettftext($destImage, $font_height, 0, $font_x, $font_y, $text_color, $font_name, $samtext);
echo $destImage;
switch($type) {
case IMG_GIF:
@imagegif($destImage, "$imgthumb");
break;
case IMG_JPG:
@imagejpeg($destImage, "$imgthumb");
break;
case IMG_PNG:
@imagepng($destImage, "$imgthumb");
break;
case IMG_WBMP:
@imagewbmp($destImage, "$imgthumb");
break;
}
@imagedestroy($srcImage);
@imagedestroy($destImage);
} else {
// return $imgfile;
}
} else {
// return $imgfile;
}
} |
3. Из архива шрифт кидаем в корень файла
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 26.04.2008 г. в 14:52:52
Прикрепленные файлы:
Скачать: 27.57 KB | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Serg_pnz | Дата: 26.04.2008, в 15:00 | Сообщение №29 | АдминистраторПользователь №: 1 Сообщений: 2242
| Пример
Прикрепленные файлы: | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | rocksmart | Дата: 26.04.2008, в 16:24 | Сообщение №30 | СтарожилПользователь №: 261 Сообщений: 330
| Serg_pnz, сто пронцентная рабочая. Какой раз убеждаюсь Понеделников рулит |
| | pusik | Дата: 26.04.2008, в 18:09 | Сообщение №31 | НовичокПользователь №: 266 Сообщений: 22
| Serg_pnz,
а в 4.1 куда вставлять то? |
| | rocksmart | Дата: 26.04.2008, в 18:20 | Сообщение №32 | СтарожилПользователь №: 261 Сообщений: 330
| на сайте не работает , а на локалке работает |
| | Serg_pnz | Дата: 26.04.2008, в 19:03 | Сообщение №33 | АдминистраторПользователь №: 1 Сообщений: 2242
| Не работает что? Я не телепат!!!
Кстати на Понедельниках всё работает. На прикрепленной ниже картинке надпись создана автоматически (да сам любую подгрузи на форум тут)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 26.04.2008 г. в 19:06:43
Прикрепленные файлы: | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | Serg_pnz | Дата: 26.04.2008, в 19:07 | Сообщение №34 | АдминистраторПользователь №: 1 Сообщений: 2242
| pusik, я не знаю какой там стоит загрузчик. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | rocksmart | Дата: 26.04.2008, в 19:08 | Сообщение №35 | СтарожилПользователь №: 261 Сообщений: 330
| значит мой косяк
Завтра отпишусь
Вот мой файл вроде все правильно
Если не лень то код в конце кода
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно rocksmart 26.04.2008 г. в 19:11:24
Прикрепленные файлы:
Скачать: 12.84 KB |
| | rocksmart | Дата: 26.04.2008, в 19:19 | Сообщение №36 | СтарожилПользователь №: 261 Сообщений: 330
| на локалке работает на сайте нет.
может от хоста зависит
Ни чего понять на могу
Прикрепленные файлы: |
| | Serg_pnz | Дата: 27.04.2008, в 09:31 | Сообщение №37 | АдминистраторПользователь №: 1 Сообщений: 2242
| rocksmart, проверь права на папки, размер картинок, наличие шрифта в корне сайта.
Недочет моего способа: вчера-сегодня юзер загрузил аватарку, так на неё тоже наложилась надпись. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | rocksmart | Дата: 27.04.2008, в 10:42 | Сообщение №38 | СтарожилПользователь №: 261 Сообщений: 330
| Serg_pnz, на папки стоит 777
Все с локалки выложил на сайт
А причем тут размер картинки |
| | Serg_pnz | Дата: 27.04.2008, в 11:20 | Сообщение №39 | АдминистраторПользователь №: 1 Сообщений: 2242
| rocksmart, при том, что ты не пишешь какую ошибку тебе выдает сайта, а просто констатируешь факт, что не работает. Так дела не делают. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | rocksmart | Дата: 27.04.2008, в 12:35 | Сообщение №40 | СтарожилПользователь №: 261 Сообщений: 330
| Serg_pnz, при загрузке файла и скриншота к нему. На скриншот не накладываеться надпись. |
| | | Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|
|