Водяные знаки

Статус
В этой теме нельзя размещать новые ответы.

ITyleR

Создатель
Регистрация
14 Июл 2007
Сообщения
47
Реакции
0
Никто не сталкивался с вопросом наложения водяных знаков на изображения в Netcat ?
Или это не зависит от движка и наложение происходит при выводе картинки? Как в таком случае быть, если вывод картинок производится через highslide ?
 
Я думаю, что не важно каким образом осуществляется вывод картинок, т.к. водяные знаки обычно накладываются при добавлении картинки, т.е непосредственно после загрузки.
 
А способы наложения бывают разные? Может есть вариант, не требующий особых знаний, полегче?
 
  • Заблокирован
  • #4
Все возможные настройки смотри в разделе модули CAPTCHA.Описание смотри в руководстве модулей.
 
Всё зависит от того какой ватермарк ты хочешь наложить на картинку. Если это просто текст, что очевидно проще, то есть очень много примеров в инете и доступных хороших классов, ежели это картинка, по реализации немного сложнее, то в инете тоже можно найти вот например . В любом случае придется править код нетката в части загрузки изображений.
 
Ничего править не нужно. Ищем обычный php код наложения водяных знаков, заходим в неткат в действие после добалвения добавляем этот код.
 
В данном случае потребуются функции библиотеки GD языка PHP, в интернете найдите необходимые классы для обработки изображений и добавьте их в файл /netcat/modules/default/functions.inc.php а дальше в действии после добавления объекта в компонентах вызывайте необходимые методы класса для обработки закаченного изображения.
 
Ну да, для watermark необходимо знать парочку функций библиотеки GD в PHP
Недавно писал скрипт, который проставит watermark по центру каждого изображения, взятого из указанной папки и переместит в папку watermarked :ay:

PHP:
<?php
ini_set("max_execution_time", "3000");
$imgfolder = "downloadedimg";
$baseUrl = "$_SERVER[DOCUMENT_ROOT]";
$srcimgfolder = "$_SERVER[DOCUMENT_ROOT]/$imgfolder";
$files = scandir($srcimgfolder);
$files = array_slice($files, 2, sizeof($files));

function watermarkall($infile,$outfile){
    $src = imagecreatefromjpeg($infile);
    if (!$src)
        return 0;
    $w_src = imagesx($src); 
    $h_src = imagesy($src);
        //watermark puts here.
        $watermark = imagecreatefrompng("watermark.png");
        $watermark_w = imagesx($watermark);
        $watermark_h = imagesy($watermark);
        imageAlphaBlending($watermark, false);
        imageSaveAlpha($watermark, true);
        imagecopy($src, $watermark, $w_src/2-$watermark_w/2, $h_src/2-$watermark_h/2, 0, 0,
$watermark_w, $watermark_h);
        
        imagejpeg($src,$outfile,100);
        imagedestroy($src);
        return 1;
}

foreach($files as $row){
    $infile = "$baseUrl/$imgfolder/$row";
    $outfile = "$baseUrl/watermarked/$row";
    watermarkall($infile,$outfile);
}
echo "Done!";
?>

Вам наверняка пригодится для обработки уже залитых изображений + по аналогии можете добавить пару строк кода при загрузке фоток.
 
В данном случае потребуются функции библиотеки GD языка PHP, в интернете найдите необходимые классы для обработки изображений и добавьте их в файл /netcat/modules/default/functions.inc.php а дальше в действии после добавления объекта в компонентах вызывайте необходимые методы класса для обработки закаченного изображения.
Аналогично (сохранением функции обработки изображения в /netcat/modules/default/functions.inc.php) можно накладывать WaterMark непосредственно в шаблон, например ".pic_watermark($f_Pic, $text).", где:
- pic_watermark($a, $b) функция в functions.inc.php
- $f_Pic - поле шаблона с картинкой
- $text - текст для размещения на картинке
 
а саму функцию pic_watermark можешь написать?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху