Yii2 представь границу в миниатюре

1

У меня есть код:

use yii\imagine\Image;
use Imagine\Image\Box;
...
$path = Yii::getAlias('@app'). '/temp';
Image::frame($path  . '/1.jpg')->thumbnail(new Box(200, 200))->save($path  . '/2.jpg', ['quality' => 100]);

Исходное изображение: 1.jpg

и результат: 2.jpg

Результат имеет белую границу. Как отключить границу?

Если нет возможности отключить границу, как изменить без обрезания и сохранить соотношение сторон?

Спасибо вам!

  • 1
    просто предложение .. проверьте ваш код на предмет проверки элемента, участвующего в рамке рамки, и установите правильный стиль CSS для его точного изменения на странице или элементе.
Теги:
image
yii2
php-imagine

1 ответ

0

У меня была эта проблема и она была исправлена, взглянув на документы:

http://www.yiiframework.com/doc-2.0/yii-imagine-baseimage.html#frame()-detail

public static \Imagine\Image\ImageInterface frame ( $filename, $margin = 20, $color = '666', $alpha = 100 )

В принципе, метод фреймов построен так, чтобы делать то, чего вы не хотите. Чтобы исправить это, используйте параметр margin как таковой:

Image::frame($path  . '/1.jpg', 0)->thumbnail(new Box(200, 200))->save($path  . '/2.jpg', ['quality' => 100]);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню