这是一个非常特定于项目的问题,与我的svg-edit实现有关。
我已经实现了更新的“ext-server_opensave.js”(来自这个问题),以便用户能够从他们的文件系统上传光栅图像。
我在“ext-server_opensave.js”中遇到问题的代码片段如下:
function importImage(url) {
var newImage = svgCanvas.addSvgElementFromJson({
"element": "image",
"attr": {
"x": 0,
"y": 0,
"width": 0,
"height": 0,
"id": svgCanvas.getNextId(),
"style": "pointer-events:inherit"
}
});
svgCanvas.clearSelection();
svgCanvas.addToSelection([newImage]);
svgCanvas.setImageURL(url);
}
在那里设置宽度和高度属性时不起作用,其他属性起作用。这是一个奇怪的错误 - 第一个图像上传会以原始大小上传文件,然后每个后续图像上传都会调整为 48x48。如果我在上面粘贴的那个方法中设置宽度和高度值,我会在一瞬间看到这些尺寸的图像,然后它会重新调整为 48x48。基本上,在 和 之后调整图像大小的链条中有一些处理程序/方法svgCanvas.addSvgElementFromJson
,svgCanvas.addToSelection
经过数小时的 javascript 调试后,我无法弄清楚在哪里。