nicecode-v2/packages/meta/es/ImageEditor/cropper/preview.js
2024-01-10 15:15:12 +08:00

54 lines
1.6 KiB
JavaScript

//@ts-nocheck
import { set } from 'rc-util/lib/Dom/css';
import { getTransforms } from "../utils";
export default {
//var
previewBox: null,
//method
initPreview: function initPreview() {
var _this$options = this.options,
showMask = _this$options.showMask,
img = _this$options.img,
viewer = _this$options.viewer;
if (!showMask) return;
if (viewer) {
//如果是传了一个viewer 进来
//整一个canvas 渲染
var canvas = document.createElement('canvas');
canvas.width = this.containerData.width;
canvas.height = this.containerData.height;
this.viewBox.appendChild(canvas);
this.previewBox = canvas;
//设置canvas 监听
} else {
//如果是传了图片 则渲染图片
var image = document.createElement('img');
image.src = img;
this.viewBox.appendChild(image);
this.previewBox = image;
}
},
renderPreview: function renderPreview() {
var _this$options2 = this.options,
showMask = _this$options2.showMask,
img = _this$options2.img,
viewer = _this$options2.viewer;
if (!showMask) return;
var containerData = this.containerData,
cropBoxData = this.cropBoxData;
var width = containerData.width,
height = containerData.height;
var left = cropBoxData.left;
var top = cropBoxData.top;
if (!this.cropped || this.disabled) {
return;
}
set(this.previewBox, Object.assign({
width: width,
height: height
}, getTransforms(Object.assign({
translateX: -left,
translateY: -top
}))));
}
};