проблема е решен - сега работи без проблеми
Искам да поставя воден знак на картинки и ползвах кода от този урок.
Имам следния проблем. Когато файла е с малка големина няма проблеми, но ако файла е по-голям от 200-300 кб изображението не се показва.
Също имам чувството, че тези операции забавят цялата страница. Приемам предложения, как да се оправи кода или принципно нов начин за поставяне на воден знак на картинките
Искам да поставя воден знак на картинки и ползвах кода от този урок.
Код:
// Изтриване на всички файлове в директория temp
foreach (glob("temp/*.*") as $filename) {
unlink($filename);
}
// Създаване на файл с воден знак в папка Temp
$w="watermark.png";
/* (U) Генерираме картинката за водния знак. */
$Watermark = imagecreatefrompng($w);
$i="_large";
$w1="products/".$model.$i.".jpg";
/* (X) Генерираме картинката на която ще слагаме водния знак. */
$Image = imagecreatefromjpeg($w1);
/* (I) Взимаме цвят - прозрачен - 0,0. */
imagecolortransparent($Watermark,imagecolorat($Watermark,0,0));
/*
* (I) Сравняваме 2 картинки
* Взимаме $Image и $Watermark и ги сливаме. */
$kade = "temp/".$model.$i.".png";
$PosX = (imagesx($Image)-imagesx($Watermark))/2;
$PosY = (imagesy($Image)-imagesy($Watermark))/2;
imagecopymerge($Image,$Watermark,$PosX,$PosY,0,0,imagesx($Watermark),imagesy($Watermark),30);
/* (X) И генерираме новата картинка във формат .png. */
imagepng($Image, $kade);
imagedestroy($Image);
imagedestroy($Watermark);
// Край на създаване на файл с воден знак в папка Temp
// Изтриване на всички файлове в директория temp
foreach (glob("temp/*.*") as $filename) {
unlink($filename);
}
echo ("<img src=".$kade." width=\"200\" border=\"0\" alt=\"\">");
Имам следния проблем. Когато файла е с малка големина няма проблеми, но ако файла е по-голям от 200-300 кб изображението не се показва.
Също имам чувството, че тези операции забавят цялата страница. Приемам предложения, как да се оправи кода или принципно нов начин за поставяне на воден знак на картинките