X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Водяные знаки
KDesign
сообщение 2011-12-01, 15:15
Сообщение #1
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 153
Регистрация: 2009-09-18
Из: Екатеринбург

Репутация:   нет  
Всего: нет


Ребята всем привет!
подскажите пожалуйста фреймворк на котором можно быстро реализовать водяные знаки на изображениях)

на проосторах инета нашел скрипт:


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] > 0) && ($info_o[1] > 0) )
   {
   imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
   }
 
   switch ($info_o[2]) { 
      case 1: 
         imageGIF($out,NULL,30); 
         break; 
      case 2: 
         imageJPEG($out,NULL,30); 
         break; 
      case 3: 
         imagePNG($out,NULL,30); 
         break; 
         } 
 
   imageDestroy($out); 
   imageDestroy($original); 
   imageDestroy($watermark); 
 
   return true; 
   } 
 



он накладывает на изображение ватермарк и немного уменьшает его качество для быстроты загрузки на странице
далее файл
.hataccess который валяется в папке с изображениями которые надо отватермаркить:


DirectoryIndex index.php 
 
<FilesMatch> 
   RewriteEngine On 
   RewriteCond %{REQUEST_FILENAME} -f 
   RewriteRule ^(.*)$ /photo/watermark/watermark.php [T=application/x-httpd-php,L,QSA] 
</FilesMatch>
 


не все изображения отображаются! с чем свзанно ума не приложу
НО! Ватермарк везде накладывается по разному ,в зависимости от размеров изображения, то он на всю картинку, то хрен разглядиш, и вобщем то надо, чтобы на выдаче были изображения с одинаковой шириной, дабы ваермарк отображался одинаково!
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0319 сек.    11 запросов    GZIP включен    Сейчас: 2024-04-20, 5:19