在自定义 Gradient 中通常需要用到 Coords 两个点相关信息,可以通过简易的 UI 来实现基于角度来计算出合适的渐变效果。
const gradAngleToCoords = (paramsAngle: number) => {
const anglePI = -parseInt(paramsAngle.toString(), 10) * (Math.PI / 180);
return {
x1: Math.round(50 + Math.sin(anglePI) * 50) / 100,
y1: Math.round(50 + Math.cos(anglePI) * 50) / 100,
x2: Math.round(50 + Math.sin(anglePI + Math.PI) * 50) / 100,
y2: Math.round(50 + Math.cos(anglePI + Math.PI) * 50) / 100,
};
};