feat: tui-image-editor 使用内存泄漏问题

master
LCJ-MinYa 7 months ago
parent 1f9c282ad7
commit 7ec8cbdc8f

@ -224,6 +224,10 @@ const initTuiImageEditor = () => {
imageEditor.value.ui.text._els.textColorpicker.colorElement.style.backgroundColor = defaultColor;
// tui-image-editor.js addText 50592
//
imageEditor.value.ui.text._els.textRange.min = 20;
imageEditor.value.ui.text._els.textRange.max = 200;
// window.onresize = function () {
// imageEditor.value.ui.resizeEditor();
// };
@ -244,6 +248,9 @@ const initTuiImageEditor = () => {
// console.log(imageEditor.value);
// });
loading.value = false;
// refreshImageShow()
// refreshImageShowWithDelay(300, true);
};
const addEventListenerFN = () => {
@ -348,17 +355,65 @@ const changeImage = (type) => {
});
};
//
const refreshImageShow = () => {
scale.value = 1;
const { width, height } = imageEditor.value.getCanvasSize();
let maxSize = Math.max(width, height);
// 0
if (!maxSize) {
return;
}
//
imageEditor.value.ui.text._els.textRange.value = 20 + Math.ceil(maxSize / 500) * 20;
/**
* 这里有两个作用
* 1. 如果图片有放大缩小在切换图片时还原比例
* 2. 解决公司项目图片加载后不显示必须手动调用一次更改尺寸方法
*/
imageEditor.value.resizeCanvasDimension({
width: imgSize.width,
height: imgSize.height,
});
};
//
const refreshImageShowWithDelay = (delay = 300, closeLoading) => {
scale.value = 1;
setTimeout(() => {
const { width, height } = imageEditor.value.getCanvasSize();
let maxSize = Math.max(width, height);
// 0
if (!maxSize) {
//
refreshImageShowWithDelay(1000, closeLoading);
return;
}
if (closeLoading) {
loading.value = false;
}
//
imageEditor.value.ui.text._els.textRange.value = 20 + Math.ceil(maxSize / 500) * 20;
/**
* 这里有两个作用
* 1. 如果图片有放大缩小在切换图片时还原比例
* 2. 解决公司项目图片加载后不显示必须手动调用一次更改尺寸方法
*/
imageEditor.value.resizeCanvasDimension({
width: imgSize.width,
height: imgSize.height,
});
}, delay);
};
const closeEditor = () => {
document.querySelector('.tui-image-editor-wrap').removeEventListener('click', handleClickOutside);
const canvas = imageEditor.value._graphics._canvas;
imageEditor.value.destroy();
// canvas100-200M
canvas.dispose();
imageEditor.value = null;
emits('close');
};

Loading…
Cancel
Save