Почему в расширении yii2-image возникает ошибка при использовании watermark?

Использую Yii2, поставил расширение yii2-image (https://github.com/yurkinx/yii2-image)
Все работает кроме 1 вещи, это watermark.

В доках есть вот такой пример:
* $mark = Image::factory('upload/watermark.png');
* $image->watermark($mark, TRUE, TRUE);


// инициализирую основное изображение
$image=Yii::$app->image->load($dir.$model->image->name);
// инициализирую водных знак
$watermark = Yii::$app->image->load($dir.'wt.png');
// созраняю
$image->watermark($watermark)->save($dir.'___'.$filename);


Прикол, в том что ловлю ошибку:
Argument 1 passed to yii\image\drivers\Kohana_Image::watermark() must be an instance of yii\image\drivers\Image, instance of yii\image\drivers\Image_GD given, called in F:\OpenServerLast\domains\portf.ru\backend\protected\modules\admin\controllers\DefaultController.php on line 108 and defined


Я обратил внимание, на
public function watermark(Image $watermark, $offset_x = NULL, $offset_y = NULL, $opacity = 100)


И передаю инициализированный $watermark и попросту не понимаю что это за ошибка. Подскажите пожалуйста в чем проблема ?
  • Вопрос задан
  • 6836 просмотров
Решения вопроса 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Какая-же все же убогая библиотека, черт ногу сломит.

Это явно порт экстеншена от 1,1, причем бездумный. Просто обернули все неймсмейсами, а то что класс Image, использующийся в определении методов не в том неймеспейсе никто и не подумал. Типично для Yii.

Рекомендую избавиться от этой библиотеки и заменить на нормальные решения: intervention/image, gregwar/image...
Ответ написан
mannaro
@mannaro
Умею профессионально гуглить
проверьте тип $watermark. Может, при инициализировании произошла ошибка?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
почему бы не попробовать родное расширение для работы с картинками?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы