Перейти к содержимому


Фотография
- - - - -

Подпись при загрузке фото.


Лучший Ответ forestwind , 26 December 2013 - 04:34

Долго мучился в итоге решил скриптом watermark.php но более простого варианта.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ /watermark/watermark.php [T=application/x-httpd-php,L,QSA]
<?php
// watermark.php

// Path the the requested file
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];

// Load the requested image
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);

// Load the watermark image
$watermark = imagecreatefrompng('watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);

// Merge watermark upon the original image (centred)
if( ($w > 400) & ($h > 200) )
{
imagecopy($image, $watermark, (($w/2)-($ww/2)), (($h/2)-($wh/2)), 0, 0, $ww, $wh);
}

// Send the image
header('Content-type: image/jpeg');

imagejpeg($image,null,95);
exit();
?> 
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 2

#1 forestwind

forestwind

Отправлено 17 December 2013 - 19:36

Доброго времени суток.

Никак не могу найти есть ли такая возможность в ZBZoo чтобы при открытии фотографий товаров на них добавлялась подпись ? (адрес сайта к примеру)

 

Если же нет, то может имеется годный плагин для jooml`ы, который при загрузке фото автоматически бы добавлял эту подпись  ?

 

Кто-нибудь сталкивался с подобной задачей ? 

 

Спасибо.


  • 0

#2 Sliapy

Sliapy

Отправлено 17 December 2013 - 20:17

Посмотрите эту тему
 
http://forum.jbzoo.c...t-izobrazhenij/
 
На старом форуме было еще такое решение
 

ну раз все такие жадные ,то пришлось самому как всегда решать проблему ( спасибо тех подержи tongue.gif )

если это кого-то заинтересует вот краткое содержание что нужно сделать:
 Создаем в корне сайта папку с названием watermark и забрасываем в нее два этих файла:

_watermark.php (сам скрипт):
 

<?php

waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png", "bottom=5,right=5"); 

function waterMark($original, $watermark, $placement = 'bottom=5,right=5', $destination = null) { 
   $original = urldecode($original);
   $info_o = @getImageSize($original); 
   if (!$info_o) 
         return false; 
   $info_w = @getImageSize($watermark); 
   if (!$info_w) 
         return false; 

   list ($vertical, $horizontal) = split(',', $placement,2); 
   list($vertical, $sy) = split('=', trim($vertical),2); 
   list($horizontal, $sx) = split('=', trim($horizontal),2); 

   switch (trim($vertical)) { 
      case 'bottom': 
         $y = $info_o[1] - $info_w[1] - (int)$sy; 
         break; 
      case 'middle': 
         $y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy; 
         break; 
      default: 
         $y = (int)$sy; 
         break; 
      } 

   switch (trim($horizontal)) { 
      case 'right': 
         $x = $info_o[0] - $info_w[0] - (int)$sx; 
         break; 
      case 'center': 
         $x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx; 
         break; 
      default: 
         $x = (int)$sx; 
         break; 
      } 

   header("Content-Type: ".$info_o['mime']); 

   $original = @imageCreateFromString(file_get_contents($original)); 
   $watermark = @imageCreateFromString(file_get_contents($watermark)); 
   $out = imageCreateTrueColor($info_o[0],$info_o[1]); 

   imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]); 
   if( ($info_o[0] > 250) && ($info_o[1] > 250) )
   {
   imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
   }

   switch ($info_o[2]) { 
      case 1: 
         imageGIF($out); 
         break; 
      case 2: 
         imageJPEG($out); 
         break; 
      case 3: 
         imagePNG($out); 
         break; 
         } 

   imageDestroy($out); 
   imageDestroy($original); 
   imageDestroy($watermark); 

   return true; 
   } 

?>
и
watermark.png-вашу картинку !!!
Затем -

Создаем файл .htaccess с таким кодом-

 
DirectoryIndex index.php
 
<FilesMatch "\.(gif|jpg|png)$">
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} -f
   RewriteRule ^(.*)$ /watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
</FilesMatch>
и забрасываем его в папку с вашими картинками. К примеру в папку stories - в данном случае водяные знаки будут накладываться на все картинки и папки с картинками находящиеся в папке stories.

P/s не в какаю не захотел работать на Денвере и бывают глюки если название фото на русском!

Разработка не моя, но в общем доступе, подсмотрел давно на одном из форумов , вот ссылку не сохранил!

 

Без понятия, насколько оно работоспособное.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 forestwind

forestwind

Отправлено 26 December 2013 - 04:34   Лучший Ответ

Долго мучился в итоге решил скриптом watermark.php но более простого варианта.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ /watermark/watermark.php [T=application/x-httpd-php,L,QSA]
<?php
// watermark.php

// Path the the requested file
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];

// Load the requested image
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);

// Load the watermark image
$watermark = imagecreatefrompng('watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);

// Merge watermark upon the original image (centred)
if( ($w > 400) & ($h > 200) )
{
imagecopy($image, $watermark, (($w/2)-($ww/2)), (($h/2)-($wh/2)), 0, 0, $ww, $wh);
}

// Send the image
header('Content-type: image/jpeg');

imagejpeg($image,null,95);
exit();
?> 

  • 1




Click to return to top of page in style!