Cropper.js 以编程方式裁剪

Cropper.js crop programmatically

我正在使用 cropper.js (https://github.com/fengyuanchen/cropperjs) 来处理图像,但我找不到以编程方式裁剪图像的方法。

我想做的是在初始化裁剪器后立即创建裁剪预览。

var cropper = new Cropper(document.getElementById('img'), {
    autoCrop: true,
    autoCropArea: 1,
    aspectRatio: 500 / 660,
    minCropBoxWidth: 500,
    minCropBoxHeight: 660,
    viewMode: 2
});

我启用了 autoCrop,但是如果我尝试使用 cropper.getCroppedCanvas() 获取数据 returns null.

我注意到 cropper.cropped 是错误的,所以我可能需要触发初始裁剪,但不知道如何触发。

我意识到我过早地尝试生成预览图像。 问题是 cropper 还没有完全初始化。

在触发 ready 时调用逻辑修复了它:

var cropper = new Cropper(document.getElementById('img'), {
    autoCrop: true,
    autoCropArea: 1,
    aspectRatio: 500 / 660,
    minCropBoxWidth: 500,
    minCropBoxHeight: 660,
    viewMode: 2,
    ready: function() {
        generatePreview();
    }
});