Gd работает не со всеми изображениями (whatermark)

parks

Постоялец
Регистрация
18 Сен 2008
Сообщения
439
Реакции
100
Непойму в чём проблема, с GD ранее не работал , прошу помощи.
PHP:
 // Загрузка штампа и фото, для которого применяется водяной знак (называется штамп или печать)
$im = imagecreatefromjpeg('test.png');
$stamp = imagecreatefrompng('watermark.png');
// Установка полей для штампа и получение высоты/ширины штампа
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Слияние штампа с фотографией. Прозрачность 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx, imagesy($im) - $sy , 0, 0, imagesx($stamp), imagesy($stamp), 50);
// Сохранение фотографии в файл и освобождение памяти
$tmp_name = 'photo_stamp.png';
imagepng($im, $tmp_name);
imagedestroy($im);
Вот такой вот скрипт скрипт с одним файлом png работает а с другим нет(виснет и "Соединение закрыто удалённым сервером"(denwer)), так же такая ситуация возникает с некоторыми jpg.
Файлы прелагаю .Неработает с (test.png)
 

Вложения

  • png.zip
    368,5 KB · Просмотры: 3
файл preview.png - это jpeg, а test.png - PNG.

Следовательно, вот эта конструкция неверна:
$im = imagecreatefromjpeg('test.png');$stamp = imagecreatefrompng('watermark.png');
 
иногда расширение файла может не всегда совпадать с типом картинки, поэтому можно использовать функцию getimagesize() которая возвращает размер, тип картинки и т.д.
 
Назад
Сверху