作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 SVG 的初学者,但我想学习一些技术。
简而言之,有没有一种简单的方法来创建这样的东西?
我正在考虑创建一个极地渐变,然后剪辑它:
但是如何生成极地渐变?
即使没有本地方法,也可以使用简单的线性渐变,然后使用一些直角坐标变换来制作。有没有办法这样做?
最佳答案
所以这是我开发的解决方案:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg viewBox="0 0 100 100" version="1.1" onload="makeGradient();">
<script>
function makeGradient() {
var root = document.rootElement, i = 256, cir, a;
for (; i--;) {
a = i*Math.PI/128;
cir = document.createElementNS("http://www.w3.org/2000/svg", "circle");
cir.setAttribute("cx", 50 - Math.sin(a)*45);
cir.setAttribute("cy", 50 - Math.cos(a)*45);
cir.setAttribute("r", "5");
cir.setAttribute("fill", "rgb(" + i + ", " + i + ", " + i + ")");
root.appendChild(cir);
}
}
</script>
</svg>
<?xml version="1.0" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" version="1.1" onload="g(this.namespaceURI,document,Math)"><script>function g(n,d,m,i,c,a,p,z){for(i=256;i--;){a=i*m.PI/128;c=d.createElementNS(n,"circle");for(p in z={cx:10-m.sin(a)*9,cy:10-m.cos(a)*9,r:1,fill:"rgb("+[i,i,i]+")"})c.setAttribute(p,z[p]);d.rootElement.appendChild(c)}}</script></svg>
for (; i -= 2;) { ...
var steps = 100, i = steps;
for (; i--;) {
a = i*2*Math.PI/steps;
...
cir.setAttribute("fill", "rgb(" + i*255/steps + ", " + ...);
}
关于SVG 极地渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149286/
我需要绘制一个填充的玫瑰,它的中心是 (30,30,30),它的半径是 2。我写了下面的代码: t = linspace(0,2*pi,201); r = sqrt(abs(2*sin(5*t)));
我正在尝试搜索是否有一种方法可以轻松更改带数字的字符串的数据类型。比如我面临的问题如下: df = pl.Dataframe({"foo": ["100CT pen", "pencils 250CT"
我是一名优秀的程序员,十分优秀!