Форум -> Files (модуль и блок) -> наложение водянного знака на картинку к файлу |
наложение водянного знака на картинку к файлу |
---|
SE7EN | Дата: 28.12.2008, в 06:01 | Сообщение №61 |
ПользовательПользователь №: 396 Сообщений: 37
| rocksmart, модули все которые с двигом идут (встроенные), а версия AntiSlaed 4.2 [MOD] by Sergey-Next |
|
|
|
rocksmart | Дата: 29.12.2008, в 11:18 | Сообщение №62 |
СтарожилПользователь №: 261 Сообщений: 330
| в файл function/function.php вставляешь
PHP - Код | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| <?php function watemark($filename) { $filename = $_FILES['userfile']['tmp_name']; $photoImage=imagecreatefromstring(file_get_contents($filename)); $margin = 7; $min_image = 100; $watermark_image_light = 'images/watermark_light.png'; $watermark_image_dark = 'images/watermark_dark.png';
$image_width = imagesx($photoImage); $image_height = imagesy($photoImage);
list($watermark_width, $watermark_height) = getimagesize($watermark_image_light);
$watermark_x = $image_width - $margin - $watermark_width; $watermark_y = $image_height - $margin - $watermark_height;
$watermark_x2 = $watermark_x + $watermark_width; $watermark_y2 = $watermark_y + $watermark_height;
if ($watermark_x < 0 OR $watermark_y < 0 OR $watermark_x2 > $image_width OR $watermark_y2 > $image_height OR $image_width < $min_image OR $image_height < $min_image) { return; }
$test = imagecreatetruecolor(1, 1); imagecopyresampled($test, $photoImage, 0, 0, $watermark_x, $watermark_y, 1, 1, $watermark_width, $watermark_height); $rgb = imagecolorat($test, 0, 0);
$r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF;
$max = min($r, $g, $b); $min = max($r, $g, $b); $lightness = (double)(($max + $min) / 510.0); imagedestroy($test);
$watermark_image = ($lightness < 0.5) ? $watermark_image_light : $watermark_image_dark;
$watermark = imagecreatefrompng($watermark_image);
imagealphablending($photoImage, TRUE); imagealphablending($watermark, TRUE);
imagecopy($photoImage, $watermark, $watermark_x, $watermark_y, 0, 0,$watermark_width, $watermark_height); ImageJPEG($photoImage, $_FILES['userfile']['tmp_name']); imagedestroy($watermark); imagedestroy($photoImage); } ?> |
в функции загрузки файлов function upload
находишь if ($typ >= 1 && intval($_FILES['userfile']['size']))
перед $newname = ($namefile) ? "".$namefile."-".gen_pass(10).".".$type."" : "".gen_pass(15).".".$type.""; вставляешь
PHP - Код | 1 2 3 4 5 6
| <?php $filename = $_FILES['userfile']['tmp_name']; $format_file = explode(".", $filename); if ($format_file[1] != gif) { $newname = watemark($filename);} ?> |
в прикрепленном файле две картинки которые должны лежать в папке images делаешь такие же но со своим названием сайта
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно rocksmart 29.12.2008 г. в 11:25:19
Прикрепленные файлы:
Скачать: 8.8 KB |
|
|
rocksmart | Дата: 29.12.2008, в 11:28 | Сообщение №63 |
СтарожилПользователь №: 261 Сообщений: 330
| на файлы с разрешением gif данная функция не распространяется так как косячит картинку |
|
|
SE7EN | Дата: 29.12.2008, в 11:51 | Сообщение №64 |
ПользовательПользователь №: 396 Сообщений: 37
| спасибки щаз буду пробовать, потом отпишусь |
|
|
alfainfo | Дата: 29.12.2008, в 12:58 | Сообщение №65 |
Активный участникПользователь №: 237 Сообщений: 152
| rocksmart, узнаю старую добрую функцию... ))) молодца что подогнал ее под 4.2,
надо будет ее и себе тоже прикрутить...
- забавно, а этот код в свое время писался еще под 1.6 лайт ....
- это какой то код долгожитель, не хочет возвращаться к источнику (матрица перезагрузка) |
|
|
SE7EN | Дата: 29.12.2008, в 15:25 | Сообщение №66 |
ПользовательПользователь №: 396 Сообщений: 37
| Чёта не получается, не хочет клеится картинка.
Вопрос твой код надо вставлять в дополнение к коду Serg_pnz, или его удалить надо?
Хотя я и так и так попробовал толку нет. |
|
|
rocksmart | Дата: 29.12.2008, в 16:46 | Сообщение №67 |
СтарожилПользователь №: 261 Сообщений: 330
| SE7EN, давай свой файл function.php |
|
|
SE7EN | Дата: 29.12.2008, в 17:52 | Сообщение №68 |
ПользовательПользователь №: 396 Сообщений: 37
| |
|
rocksmart | Дата: 29.12.2008, в 19:44 | Сообщение №69 |
СтарожилПользователь №: 261 Сообщений: 330
| |
|
|
Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|