本文整理汇总了C#中IGraphicsService.FillPolygon方法的典型用法代码示例。如果您正苦于以下问题:C# IGraphicsService.FillPolygon方法的具体用法?C# IGraphicsService.FillPolygon怎么用?C# IGraphicsService.FillPolygon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IGraphicsService
的用法示例。
在下文中一共展示了IGraphicsService.FillPolygon方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Draw
/// <summary>
/// Draw hands on the clock
/// </summary>
/// <param name="graphics">Graphics context</param>
public void Draw(IGraphicsService graphics)
{
if (graphics == null)
{
throw new ArgumentNullException("graphics");
}
var now = _dateTimeService.Now;
var second = (now.Second / 60d);
var minute = (now.Minute / 60d) + (second / 60d);
var hourly = (now.Hour / 12d) + (minute / 12d);
Array.ForEach(new DrawArgs[] {
new DrawArgs
{
Brush = _secondBrush,
Angle = second,
Length = Constants.SecondLength,
MaxWidthLength = Constants.SecondMaxWidthLength,
Width = Constants.SecondWidth
},
new DrawArgs
{
Brush = _minuteBrush,
Angle = minute,
Length = Constants.MinuteLength,
MaxWidthLength = Constants.MinuteMaxWidthLength,
Width = Constants.MinuteWidth
},
new DrawArgs
{
Brush = _hourlyBrush,
Angle = hourly,
Length = Constants.HourlyLength,
MaxWidthLength = Constants.HourlyMaxWidthLength,
Width = Constants.HourlyWidth
}
}, x =>
graphics.FillPolygon(x.Brush, new PointF[] {
_mathService.GetPoint(x.Angle + Constants.QuarterCircle, Center.CircleSize / 2),
_mathService.GetPoint(x.Angle + x.Width, x.Length * x.MaxWidthLength),
_mathService.GetPoint(x.Angle, x.Length),
_mathService.GetPoint(x.Angle - x.Width, x.Length * x.MaxWidthLength),
_mathService.GetPoint(x.Angle - Constants.QuarterCircle, Center.CircleSize / 2)
})
);
}