瞎改
This commit is contained in:
@@ -503,7 +503,7 @@ onMounted(async () => {
|
||||
clearTimeout(trailingTimeout);
|
||||
trailingTimeout = setTimeout(() => {
|
||||
optimizeCanvasRendering(canvasManager.canvas, ()=> handleWindowResize());
|
||||
}, 200);
|
||||
}, 1000);
|
||||
});
|
||||
observer.observe(canvasContainerRef.value);
|
||||
// 使用window的resize事件代替ResizeObserver
|
||||
@@ -566,38 +566,38 @@ async function handleWindowResize() {
|
||||
if(!canvasManager) return;
|
||||
await updateCanvasSize();
|
||||
// 确保显示的缩放信息是最新的
|
||||
currentZoom.value = Math.round(canvasManager.canvas.getZoom() * 100);
|
||||
setInitZoom();
|
||||
await setInitZoom();
|
||||
await new Promise(requestAnimationFrame);
|
||||
await layerManager?.updateLayersObjectsInteractivity?.();
|
||||
}
|
||||
|
||||
function setInitZoom(){
|
||||
if (props.config.initZoom) {
|
||||
async function setInitZoom(){
|
||||
if (props.config.initZoom && !props.enabledRedGreenMode) {
|
||||
const width = canvasManager.width;
|
||||
const height = canvasManager.height;
|
||||
const cwidth = props.config.width;
|
||||
const cheight = props.config.height;
|
||||
const cwidth = canvasWidth.value;
|
||||
const cheight = canvasHeight.value;
|
||||
let zoom = Math.min(1, width / cwidth, height / cheight);
|
||||
if (zoom < 1) zoom -= 0.05;
|
||||
setZoom(zoom); // 设置画布缩放
|
||||
await setZoom(zoom); // 设置画布缩放
|
||||
}else{
|
||||
currentZoom.value = Math.round(canvasManager.canvas.getZoom() * 100);
|
||||
}
|
||||
}
|
||||
|
||||
function resetZoom() {
|
||||
canvasManager.resetZoom();
|
||||
}
|
||||
function setZoom(zoom) {
|
||||
setTimeout(() => {
|
||||
if (!canvasManager) return;
|
||||
const newZoom = Math.max(zoom, 0.1);
|
||||
// 使用画布中心作为缩放点
|
||||
const centerPoint = {
|
||||
x: canvasManager.canvas.width / 2,
|
||||
y: canvasManager.canvas.height / 2,
|
||||
};
|
||||
canvasManager.animateZoom(centerPoint, newZoom);
|
||||
});
|
||||
async function setZoom(zoom) {
|
||||
await new Promise(requestAnimationFrame);
|
||||
if (!canvasManager) return;
|
||||
const newZoom = Math.max(zoom, 0.1);
|
||||
// 使用画布中心作为缩放点
|
||||
const centerPoint = {
|
||||
x: canvasManager.canvas.width / 2,
|
||||
y: canvasManager.canvas.height / 2,
|
||||
};
|
||||
canvasManager.animateZoom(centerPoint, newZoom);
|
||||
}
|
||||
|
||||
function zoomIn() {
|
||||
@@ -1467,7 +1467,7 @@ defineExpose({
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.background-grid {
|
||||
.canvas-container {
|
||||
--offsetX: 50%;
|
||||
--offsetY: 50%;
|
||||
--size: 10px;
|
||||
|
||||
Reference in New Issue
Block a user