Ошибка использования Imagine\Image для водяных знаков изображений
Я пытаюсь нанести водяные знаки на изображения с помощью библиотеки Imagine (в проекте CakePHP). Обрезка изображений работает нормально, водяные знаки - нет. Я использую пример с сайта Imagine:
$imagine = new Imagine\Gd\Imagine();
$watermark = $imagine->open('/my/watermark.png');
$image = $imagine->open('/path/to/image.jpg');
$size = $image->getSize();
$wSize = $watermark->getSize();
$bottomRight = new Imagine\Image\Point($size->getX() - $wSize->getX(), $size->getY() - $wSize->getY());
$image->paste($watermark, $bottomRight);
Исходный пример не содержит процедуры создания экземпляра, поэтому я добавил то, что нашел на странице. Это приводит к следующей ошибке:
Call to undefined method Imagine\Image\Box::getX()
Как я правильно его использую?
2 ответа
Я использовал это так, и это сработало.
\Imagine\Image\Box::getX()
проверьте это пожалуйста
Заменить это:
$bottomRight = new Imagine\Image\Point($size->getX() - $wSize->getX(), $size->getY() - $wSize->getY());
С этим:
$bottomRight = new \Imagine\Image\Point($size->getWidth() - $wSize->getWidth(), $size->getHeight() - $wSize->getHeight());