Ошибка использования 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());
Другие вопросы по тегам