请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 马黑黑 于 2024-11-11 20:31 编辑
效果:
svg绘制代码:
<script type="module">
import draw from 'https://638183.freep.cn/638183/web/mod/svgdr.js';
var dr = draw.dr(mydiv);
var tt = 9, /* 花瓣总数 */
r1 = 150, /* 范围半径,即宽高一致的svg的中心坐标 */
r2 = 145, /* 内围小半径,即图案在范围内的半径 */
deg = 360 / tt, /* 平均角度 */
rad = Math.PI / 180 * deg, /* 平均弧度 */
pstr = `M${r1} ${r1}`; /* 路径字串 :开始时移动到中心 */
//stop结点代码
var stop = `
<stop offset="0" stop-color="magenta" />
<stop offset="1" stop-color="teal" />
`;
//生成路径字串
for(var i = 0; i < tt; i ++) {
var x = r1 + r2 * Math.cos(rad * i), y = r1 + r2 * Math.sin(rad * i);
pstr += `A60 30 ${deg * i} 0 0 ${x.toFixed(2)} ${y.toFixed(2)}A60 30 ${deg * i} 1 0 ${r1} ${r1}`;
}
//创建渐变
dr.gradient('radialGradient', {id: 'rg', r: .8}, stop);
//绘制路径 :fill使用渐变并设置填充规则
dr.path(pstr, 'url(#rg)').set('fill-rule', 'evenodd');
</script>
svgdr生成的SVG代码:
|