将d3 html转化为svg,如何通过d3js实现svg模式?

本文详细介绍了如何使用D3.js库在SVG中创建图案(pattern)并应用到图形元素上。示例代码展示了如何定义一个旋转的垂直条纹图案,并将其填充到圆形中。此外,还讲解了如何改变图案颜色以及创建更复杂的SVG模式。通过这种方式,你可以自定义SVG图形的外观,实现更多视觉效果。
摘要由CSDN通过智能技术生成

当我们知道你提供的正确的xml语法时,它是直截了当的:)

D3js模式片段

// SVG injection:

var svg = d3.select("#hook").append("svg").attr("id", "d3svg")

.attr("width", 120)

.attr("height", 120);

//Pattern injection

var defs = svg.append("defs")

var pattern = defs.append("pattern")

.attr({ id:"hash4_4", width:"8", height:"8", patternUnits:"userSpaceOnUse", patternTransform:"rotate(-45)"})

.append("rect")

.attr({ width:"4", height:"8", transform:"translate(0,0)", fill:"#88AAEE" });

//Shape design

svg.append("g").attr("id","shape")

.append("circle")

.attr({cx:"60",cy:"60",r:"50", fill:"url(#hash4_4)" })

使用

要在svg组或元素上使用:

g.attr("fill", "url(#hash4_4)" )

概念

向后,任何斜条都是旋转的垂直哈希.垂直散列的基本图案是正方形区域,其中一部分是采用或多或少的水平宽度的垂直线,例如4px,用于正方形的8px宽度.重复这个模式,旋转,你拥有它.

图案的颜色

更改图案的填充将影响使用此图案的元素.

其他模式

类似地,您可以通过设计方形内的路径来包含更复杂的svg模式.通过示例通过:

pattern.append("path").attr("d", "M5,0 10,10 0,10 Z")

// small triangle but can be pushed further !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值