0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 4871 Просмотров
*

andron_2006_83

  • Новичок
  • 9
  • 1 / 0
ТЕМА закрыта...   ^-^  :D
Все решил сам...
Заменяем файл /administrator/components/com_media/controllers/file.php
на файл в архиве watermark_com_media.zip, в тотже каталог ложим файл watermark.png
Функция накладывает watemark(по центру)  только на картинки с расширением .jpg которые больше по высоте и ширене чем watermark.png мне этого хватает кто хочет пусть эксперементирует...
:) сюда кому чего не жалко R229815771129    Z404492136425 .......

Цитировать



Хочу прикрутить функцию watermark к стандартному com_media нехочет обрабатывать.
Подскажите проблему.
С аналогичной функцией изменения размеров картинки работает отлично.
Помойму проблема в загрузке картинки watemark.png, что то или с путем к картинке.
Ошибок не выдает просто без изменений загружает ее.
Всем спасибо.



<?php 
function waterMark($original$watermark$placement 'bottom=5,right=5'$destination null)
	
	

        
$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$original0000$info_o[0], $info_o[1]); 
	
	
if( (
$info_o[0] > 250) && ($info_o[1] > 250) )
	
	
{
	
	
imageCopy($out$watermark$x$y00$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($file['tmp_name'], $watermark=JPATH_SITE DS .'watermark.png'$placement 'bottom=5,right=5'$destination null);
	
	

	
	
?>


[вложение удалено Администратором]
« Последнее редактирование: 14.07.2010, 17:53:47 от andron_2006_83 »
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
Re: Функция watermark в стандартном com_media
« Ответ #1 : 18.10.2010, 16:37:38 »
чёт пробую твою модификацию и тишина... (J 1.5.21+VM 1.1.15)
*

pachok89

  • Осваиваюсь на форуме
  • 34
  • 3 / 0
Re: Функция watermark в стандартном com_media
« Ответ #2 : 28.10.2011, 16:10:08 »
andron_2006_83, что то не работает.
joomla 1.5.23
*

mobilepost

  • Новичок
  • 5
  • 0 / 0
Re: Функция watermark в стандартном com_media
« Ответ #3 : 19.10.2012, 18:11:28 »
Вот нашел отличный способ, как накладывать watermark в VirtueMart http://dutyadmin.ru/content/watermark-joomla-vituemart причем используется Joomla 2 и никаких морочек с ModRewrite
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Для чего и как работает функция nameQuote

Автор Lex

Ответов: 2
Просмотров: 2581
Последний ответ 03.08.2009, 14:01:27
от Lex