Программирование, веб-кодинг, Расширения, виджеты

Обрезаем превью изображений перед загрузкой (Cropbox)

Обрезаем превью изображений перед загрузкой (Cropbox)

Замечательный виджет bupy7/yii2-widget-cropbox позволит обрезать картинки перед их загрузкой на сервер. Этот виджет - обёртка для bupy7/jquery-cropbox, поэтому надо установить композером и то и другое.

Последний плагин устанавливается с помощью bower, имейте ввиду. То есть надо, чтобы был установлен bower и git на вашей машине.

Вот как я использовал cropbox

$dir = Yii::getAlias('/images/events/'.Yii::$app->formatter->asDate($model->date_start, 'yyyy' . '/'));
                echo $form->field($model, 'file')->widget(Cropbox::className(), [
                    'attributeCropInfo' => 'crop_info',
                    'previewImagesUrl' => [
                        $dir.'thumb_'.$model->image
                    ],
                    'originalImageUrl' => $dir.$model->image,
                    'pluginOptions' => [
                        'variants' => [
                            [
                                'width'=> 360,
                                'height'=> 220
                            ]
                        ],
                    ],
                ]);

В параметрах указал неизменяемые размеры рамки для обрезки 360x220 (пропорция почти "золотое сечение"), чтобы вырезались всегда превью одинакового размера.