GradientTransform不能进行这种转换。你需要一个
过滤以对红/白渐变应用钟形转换。
。
左边是原始的,右边是变形的。曲线的纹理不是很细(只有15个值),因此您可能希望对较大的渐变使用更多的术语。
<svg width=“500px”height=“500px”viewbox=“0 0 800 800”>
DFS & GT;
<filter id=“BellTransform”color interpolation filters=“sRGB”>
<fecomponenttransfer>
<fefuncg type=“table”表值=
“0.0000 0.0059 0.0166 0.0346 0.0628 0.1038 0.1586 0.2259 0.3011 0.3761 0.4406 0.4844 0.5000 0.5156 0.5594 0.6239 0.6989 0.7741 0.8414 0.8962 0.9372 0.9654 0.9834 0.9941 1.0000”/>gt;
<fefuncb type=“table”表值=
“0.0000 0.0059 0.0166 0.0346 0.0628 0.1038 0.1586 0.2259 0.3011 0.3761 0.4406 0.4844 0.5000 0.5156 0.5594 0.6239 0.6989 0.7741 0.8414 0.8962 0.9372 0.9654 0.9834 0.9941 1.0000”/>gt;
</fecomponenttransfer>
& lt;/过滤器& gt;
和/或DEFS & GT;
<lineargradient id=“redgradient”x1=“0%”x2=“0%”y1=“0%”y2=“100%”>
<stop offset=“0%”stop color=“ffffff”/>
<stop offset=“100%”stop color=“ff0000”/>
</lineargradient>
<rect filter=“url(belltransform)”x=“410”y=“0”width=“400”height=“400”fill=“url(redgradient)”/>
<rect x=“0”y=“0”width=“400”height=“400”fill=“url(redgradient)”/>
和/或SVG & GT;
< /代码>
将钟形变换应用于红/白渐变。
.
左边是原始的,右边是变形的。曲线的纹理不是很细(只有15个值),因此您可能希望对较大的渐变使用更多的术语。
<svg width="500px" height="500px" viewbox="0 0 800 800">
<defs>
<filter id="bellTransform" color-interpolation-filters="sRGB">
<feComponentTransfer>
<feFuncG type="table" tableValues=
"0.0000 0.0059 0.0166 0.0346 0.0628 0.1038 0.1586 0.2259 0.3011 0.3761 0.4406 0.4844 0.5000 0.5156 0.5594 0.6239 0.6989 0.7741 0.8414 0.8962 0.9372 0.9654 0.9834 0.9941 1.0000"/>
<feFuncB type="table" tableValues=
"0.0000 0.0059 0.0166 0.0346 0.0628 0.1038 0.1586 0.2259 0.3011 0.3761 0.4406 0.4844 0.5000 0.5156 0.5594 0.6239 0.6989 0.7741 0.8414 0.8962 0.9372 0.9654 0.9834 0.9941 1.0000"/>
</feComponentTransfer>
</filter>
</defs>
<linearGradient id="redgradient" x1="0%" x2="0%" y1="0%" y2="100%">
<stop offset="0%" stop-color="#ffffff"/>
<stop offset="100%" stop-color="#ff0000"/>
</linearGradient>
<rect filter="url(#bellTransform)" x="410" y="0" width="400" height="400" fill="url(#redgradient)"/>
<rect x="0" y="0" width="400" height="400" fill="url(#redgradient)"/>
</svg>