Это довольно специфичный для проекта вопрос, связанный с моей реализацией 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.