Добрый день, у меня такая иногда возникает проблема с изображениями при наложении водяного знака через 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);
}
(Добавление)
Скрипт запускается при первом просмотре страницы,в последующие разы он игнорируется. Когда я замечаю такие испорченные изображения, и заново активирую скрипт на исходные изображения он тоже хаотически накладывает, может с первого раза хорошо наложить, а может опять испортить изображения.
Подскажите пожалуйста, если кто сталкивался
1. ivanfz - 30 Июня, 2011 - 13:31:38 - перейти к сообщению
2. GYS_Yu - 30 Июня, 2011 - 14:35:31 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function create_znak($file){
- $way = "путь к картинке, на которую наносим знак/".$file;
- imagecopy ($foto, $znak, $foto_hw[0] - $znak_hw[0], $foto_hw[1] - $znak_hw[1], 0, 0, $znak_hw[0], $znak_hw[1]);
- }