是否可以在代码中检索 LinearGradientBrush 的角度?
Is it possible to retrieve the angle of a LinearGradientBrush in code?
我正在查看 LinearGradientBrush class 的构造函数,我看到它有一个覆盖,它采用 GradientStops 的集合和一个双精度作为角度。
当我查看它的属性时,我找不到如何在定义画笔后获取角度。
有没有办法做到这一点,或者我是否必须编写一些函数来查看起点和终点并计算它们的角度? (Blech - 请不要告诉我这是我唯一的选择...)
I can't find how to get the angle form the brush once it's been defined.
根据referencesource.microsoft.com,angle
没有存储,只是用来计算EndPoint
:
public LinearGradientBrush(GradientStopCollection gradientStopCollection,
double angle) : base (gradientStopCollection)
{
EndPoint = EndPointFromAngle(angle);
}
private Point EndPointFromAngle(double angle)
{
// Convert the angle from degrees to radians
angle = angle * (1.0/180.0) * System.Math.PI;
return (new Point(System.Math.Cos(angle), System.Math.Sin(angle)));
}
从 EndPoint
得到 angle
应该很简单。
我正在查看 LinearGradientBrush class 的构造函数,我看到它有一个覆盖,它采用 GradientStops 的集合和一个双精度作为角度。
当我查看它的属性时,我找不到如何在定义画笔后获取角度。
有没有办法做到这一点,或者我是否必须编写一些函数来查看起点和终点并计算它们的角度? (Blech - 请不要告诉我这是我唯一的选择...)
I can't find how to get the angle form the brush once it's been defined.
根据referencesource.microsoft.com,angle
没有存储,只是用来计算EndPoint
:
public LinearGradientBrush(GradientStopCollection gradientStopCollection,
double angle) : base (gradientStopCollection)
{
EndPoint = EndPointFromAngle(angle);
}
private Point EndPointFromAngle(double angle)
{
// Convert the angle from degrees to radians
angle = angle * (1.0/180.0) * System.Math.PI;
return (new Point(System.Math.Cos(angle), System.Math.Sin(angle)));
}
从 EndPoint
得到 angle
应该很简单。