我使用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()
获取数据,则会返回null
。
我注意到cropper.cropped
是假的,所以我可能需要触发初始裁剪,但不知道如何。
答案 0 :(得分:2)
我意识到我过早地试图生成预览图像。
问题是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();
}
});