Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Наложение водяного знака

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: нужна помощь
ivanfz
Отправлено: 30 Июня, 2011 - 13:31:38
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Добрый день, у меня такая иногда возникает проблема с изображениями при наложении водяного знака через imagecopy. Конечное изображение рвется.
(Добавление)
вот скрипт:
$foto_hw = getimagesize($_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB']); // путь к фото
$znak_hw = getimagesize($_SERVER['DOCUMENT_ROOT']."/1cimport/oldi_logo.png"); // путь к знаку

$znak = imagecreatefrompng($_SERVER['DOCUMENT_ROOT']."/1cimport/oldi_logo.png");

if($foto_hw['mime']== 'image/jpeg'){
$foto = imagecreatefromjpeg($_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB']);
}
elseif($foto_hw['mime']== 'image/gif')
{
$foto = imagecreatefromgif($_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB']);
}
elseif($foto_hw['mime']== 'image/png')
{
$foto = imagecreatefrompng($_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB']);
}


imagecopy ($foto,$znak,$foto_hw[0] - $znak_hw[0],$foto_hw[1] - $znak_hw[1],0,0, $znak_hw[0], $znak_hw[1]);

$foto_hw=pathinfo($_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB']);


if(($foto_hw['extension']=='jpeg') || ($foto_hw['extension']=='jpg')||($foto_hw['extension']=='JPEG') || ($foto_hw['extension']=='JPG'))
{
imagejpeg($foto, $_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB'], 100);
}
elseif(($foto_hw['extension']=='gif')||($foto_hw['extension']=='GIF'))
{
imagegif($foto, $_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB'], 100);
}
elseif(($foto_hw['extension']=='png')||($foto_hw['extension']=='PNG'))
{
imagepng($foto, $_SERVER["DOCUMENT_ROOT"].$arResult["PROPERTIES"]['STATIC_MORE_PHOTO']['VALUE'][$ik]['SRCB'], 100);
}

imagedestroy ($znak);
imagedestroy ($foto);
}
(Добавление)
Скрипт запускается при первом просмотре страницы,в последующие разы он игнорируется. Когда я замечаю такие испорченные изображения, и заново активирую скрипт на исходные изображения он тоже хаотически накладывает, может с первого раза хорошо наложить, а может опять испортить изображения.
Подскажите пожалуйста, если кто сталкивался
Прикреплено изображение (Нажмите для увеличения)
september09-716.jpg

(Отредактировано автором: 30 Июня, 2011 - 15:01:51)

 
 Top
GYS_Yu
Отправлено: 30 Июня, 2011 - 14:35:31
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. function create_znak($file){
  2.                        
  3.                         $way = "путь к картинке, на которую наносим знак/".$file;
  4.                                
  5.                         $znak_hw = getimagesize("путь к знаку/znak.png");
  6.                         $foto_hw = getimagesize($way);
  7.                                
  8.                         $znak = imagecreatefrompng  ("путь к знаку/znak.png");
  9.                         $foto = imagecreatefromjpeg ($way);
  10.                                
  11.                         imagecopy ($foto, $znak, $foto_hw[0] - $znak_hw[0], $foto_hw[1] - $znak_hw[1], 0, 0, $znak_hw[0], $znak_hw[1]);
  12.                                
  13.                         imagejpeg ($foto, $way, "100");
  14.                                
  15.                         imagedestroy ($znak);
  16.                         imagedestroy ($foto);
  17.                 }
 
 Top
ivanfz
Отправлено: 30 Июня, 2011 - 14:57:27
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Из этого кода я свой и делал
 
 Top
GYS_Yu
Отправлено: 30 Июня, 2011 - 15:04:06
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




чем исходный-то не угодил?
 
 Top
ivanfz
Отправлено: 30 Июня, 2011 - 15:10:35
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




исходная картинка может быть не только jpeg-расширением, вот и модифицировал
 
 Top
ivanfz
Отправлено: 01 Июля, 2011 - 12:33:57
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Есть предположение, может сервер в какой-то момент тормозит?
 
 Top
ALEN
Отправлено: 02 Июля, 2011 - 11:34:05
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




ivanfz
http://forum.php.su/topic.php?fo...35&topic=736 вот готовый класс, посмотри в него
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB