gpt4 book ai didi

javascript - 来自数组的 SVG 元素

转载 作者:行者123 更新时间:2023-11-28 18:06:35 28 4
gpt4 key购买 nike

我正在尝试将图像从数组加载到 svg Canvas 中,但我无法使此代码正常工作。

我正在尝试使用 Chrome 对其进行调试,但我无法做到。图像是空白的,我不知道如何进行。

<html>
<head>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js"></script>
<style type="text/css">
body {
background-image:url('BG.png')
}
</style>
<title>Drag And Drop</title>
</head>
<body>
<script type="text/javascript">

window.onload = function(){
var NumImages = [
{ 'x' :200, 'y':90, 'width': 450, 'height':200, 'href' : 'numbers.jpeg' },
];
var circleData = [
{ "cx": 20, "cy": 20, "radius": 20, "color" : "green" },
{ "cx": 70, "cy": 70, "radius": 20, "color" : "purple" }];


var rectangleData = [
{ "rx": 110, "ry": 110, "height": 30, "width": 30, "color" : "blue" },
{ "rx": 160, "ry": 160, "height": 30, "width": 30, "color" : "red" }];

var svgContainer = d3.select("body").append("svg")
.attr("width",700)
.attr("height",700)
.attr("margin-top", 100);


var images = svgContainer.selectAll("image")
.data(NumImages)
.enter()
.append("image");

svgContainer.append("image")
.attr('x',200)
.attr('y',90)
.attr('width', 50)
.attr('height', 200)
.attr("xlink:href", "2-image.jpg");
};

</script>

</body>
</html>

最佳答案

您已经完成了所有艰苦的工作,只需调整最后几行。您需要使用绑定(bind)到 images 变量的数据,所以试试这个;

images
.attr('x', function (d,i) { return d.x; })
.attr('y', function (d,i) { return d.y; })
.attr('width', function (d,i) { return d.width; })
.attr('height', function (d,i) { return d.height; })
.attr("xlink:href", function (d,i) { return d.href; });

关于javascript - 来自数组的 SVG 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19471155/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com