Я новичок в SVG
, так что извините, если это немного вопрос о нобе. Я пытаюсь понять, как получить изображение для отображения с полной шириной и высотой ссылочного изображения. Я использую D3.js
, чтобы построить график, и я хочу, чтобы логотип появился в углу. Проблема заключается в том, что изображение href
будет установлено с использованием javascript, поэтому ссылка на изображение никогда не будет фиксированной шириной или высотой. Я хочу, чтобы изображение отображалось в его полной ширине и высоте, а не увеличено или уменьшено. На что я надеялся - это возможность автоматически устанавливать ширину и высоту изображения на основе его содержимого, например, устанавливать атрибуты и height
на auto
. Однако это приводит к тому, что изображение не отображается.Авто ширина и высота для изображения SVG
d3.select("body")
.append("svg")
.attr('id','mySVG')
.attr({
"width": "100%",
"height": "100%"
})
.attr("viewBox", "0 0 " + width + " " + height)
.attr("preserveAspectRatio", "none");
d3.select('#mySVG')
.append('image')
.attr('image-rendering','optimizeQuality')
.attr('height','auto') <--- This does not work
.attr('width','auto') <--- This does not work
.attr('xlink:href', logoUrl)
.attr('x','0')
.attr('y','0');
Как бы идти о указав, что SVG изображения width
и height
должны быть динамически определяется на основе ссылочного размера изображения?
Есть ли причина, по которой вы используете не только тег img? – Wex
Привет, Wex. Вы имеете в виду тег 'html'' img'? Я предпочел бы сохранить решение в SVG, если это возможно. Хотелось бы, чтобы изображение было встроено в 'SVG' для построенного графика. – BruceHill
Возможный дубликат [Не поддерживает ли SVG автоматическую ширину и высоту изображений?] (Http://stackoverflow.com/questions/16080273/doesnt-svg-support-auto-width-and-height-for-images) –