Как обрезать изображение до определенной высоты и ширины?

Почему я не получаю изображение определенной высоты и ширины?

Предположим, я установил для кадрируемого изображения ширину = 308 и высоту = 200, он возвращает 308 X 308. Если я устанавливаю ширину = 200 и высоту = 308, он возвращает 308 x 308. Он возвращает максимальный размер по высоте и ширине. Как решить эту проблему?

Я использую Cropper.js

if (cropper) {
    canvas = cropper.getCroppedCanvas({
        width: 308, // here set  width 
        height: 200, // here set height 
        imageSmoothingEnabled: false,
        imageSmoothingQuality: 'high',
        fillColor: '#fff',
});

person user8274471    schedule 24.03.2019    source источник


Ответы (1)


Вам нужно установить aspectRatio бесплатно, как показано ниже:

if (cropper) {
    canvas = cropper.getCroppedCanvas({
    width: 308, // here set  width 
    height: 200, // here set height
     aspectRatio: "free", // or Free or 0
    imageSmoothingEnabled: false,
    imageSmoothingQuality: 'high',
    fillColor: '#fff',
});

Надеюсь, это поможет вам

person Rohit Mittal    schedule 24.03.2019
comment
Не работает ! когда я обрезал изображение, высота = 200, но ширина менялась каждый раз, когда-то 163 или 157, но не фиксированная ширина 308. Спасибо за ответ. - person user8274471; 25.03.2019