跳到主要内容

github/tai

公开

Tai · Windows 软件与网站使用时长统计。上游 Planshit/Tai 的源码镜像,非灵栈原创;MIT 许可。来源:https://github.com/Planshit/Tai 。本次为手动同步,暂不提供安装包。

提交记录
删除UI/Librays/RadarDemo.cs+0 −157
@@ -1,157 +0,0 @@
1删除:using System;
2删除:using System.Collections.Generic;
3删除:using System.Drawing;
4删除:using System.Drawing.Imaging;
5删除:using System.Linq;
6删除:using System.Text;
7删除:using System.Threading.Tasks;
8删除:
9删除:namespace UI.Librays
10删除:{
11删除: public static class RadarDemo
12删除: {
13删除: static float mW = 1200;
14删除: static float mH = 1200;
15删除: static Dictionary<string, float> mData = new Dictionary<string, float>
16删除: {
17删除: //{ "速度",77},
18删除: { "力量", 72},
19删除: { "防守", 110},
20删除: { "射门", 50},
21删除: { "传球", 80},
22删除: { "耐力", 60 }
23删除: };//维度数据
24删除: static float mCount = mData.Count; //边数
25删除: static float mCenter = mW * 0.5f; //中心点
26删除: static float mRadius = mCenter - 100; //半径(减去的值用于给绘制的文本留空间)
27删除: static double mAngle = (Math.PI * 2) / mCount; //角度
28删除: static Graphics graphics = null;
29删除: static int mPointRadius = 5; // 各个维度分值圆点的半径
30删除: static int textFontSize = 18; //顶点文字大小 px
31删除: const string textFontFamily = "Microsoft Yahei"; //顶点字体
32删除: static Color lineColor = Color.Green;
33删除: static Color fillColor = Color.FromArgb(128, 255, 0, 0);
34删除: static Color fontColor = Color.Black;
35删除: public static void Show()
36删除: {
37删除: Bitmap img = new Bitmap((int)mW, (int)mH);
38删除: graphics = Graphics.FromImage(img);
39删除: graphics.Clear(Color.White);
40删除: img.Save($"{AppDomain.CurrentDomain.BaseDirectory}/0.png", ImageFormat.Jpeg);
41删除: DrawPolygon(graphics);
42删除: img.Save($"{AppDomain.CurrentDomain.BaseDirectory}/1.png", ImageFormat.Png);
43删除: DrawLines(graphics);
44删除: img.Save($"{AppDomain.CurrentDomain.BaseDirectory}/2.png", ImageFormat.Png);
45删除: DrawText(graphics);
46删除: img.Save($"{AppDomain.CurrentDomain.BaseDirectory}/3.png", ImageFormat.Png);
47删除: DrawRegion(graphics);
48删除: img.Save($"{AppDomain.CurrentDomain.BaseDirectory}/4.png", ImageFormat.Png);
49删除: DrawCircle(graphics);
50删除: img.Save($"{AppDomain.CurrentDomain.BaseDirectory}/5.png", ImageFormat.Png);
51删除: img.Dispose();
52删除: graphics.Dispose();
53删除: }
54删除: // 绘制多边形边
55删除: private static void DrawPolygon(Graphics ctx)
56删除: {
57删除: var r = mRadius / mCount; //单位半径
58删除: Pen pen = new Pen(lineColor);
59删除: //画6个圈
60删除: for (var i = 0; i < mCount; i++)
61删除: {
62删除: var points = new List<PointF>();
63删除: var currR = r * (i + 1); //当前半径
64删除: //画6条边
65删除: for (var j = 0; j < mCount; j++)
66删除: {
67删除: var x = (float)(mCenter + currR * Math.Cos(mAngle * j));
68删除: var y = (float)(mCenter + currR * Math.Sin(mAngle * j));
69删除: points.Add(new PointF { X = x, Y = y });
70删除: }
71删除: ctx.DrawPolygon(pen, points.ToArray());
72删除: //break;
73删除: }
74删除: ctx.Save();
75删除: }
76删除: //顶点连线
77删除: private static void DrawLines(Graphics ctx)
78删除: {
79删除: for (var i = 0; i < mCount; i++)
80删除: {
81删除: var x = (float)(mCenter + mRadius * Math.Cos(mAngle * i));
82删除: var y = (float)(mCenter + mRadius * Math.Sin(mAngle * i));
83删除: ctx.DrawLine(new Pen(lineColor), new PointF { X = mCenter, Y = mCenter }, new PointF { X = x, Y = y });
84删除: //break;
85删除: }
86删除: ctx.Save();
87删除: }
88删除: //绘制文本
89删除: private static void DrawText(Graphics ctx)
90删除: {
91删除: var fontSize = textFontSize;//mCenter / 12;
92删除: Font font = new Font(textFontFamily, fontSize, FontStyle.Regular);
93删除: int i = 0;
94删除: foreach (var item in mData)
95删除: {
96删除: var x = (float)(mCenter + mRadius * Math.Cos(mAngle * i));
97删除: var y = (float)(mCenter + mRadius * Math.Sin(mAngle * i) - fontSize);
98删除: if (mAngle * i > 0 && mAngle * i <= Math.PI / 2)
99删除: {
100删除: ctx.DrawString(item.Key, font, new SolidBrush(fontColor), x - ctx.MeasureString(item.Key, font).Width * 0.5f, y + fontSize/* y + fontSize*/);
101删除: }
102删除: else if (mAngle * i > Math.PI / 2 && mAngle * i <= Math.PI)
103删除: {
104删除: ctx.DrawString(item.Key, font, new SolidBrush(fontColor), x - ctx.MeasureString(item.Key, font).Width, y /*y + fontSize*/);
105删除: }
106删除: else if (mAngle * i > Math.PI && mAngle * i <= Math.PI * 3 / 2)
107删除: {
108删除: ctx.DrawString(item.Key, font, new SolidBrush(fontColor), x - ctx.MeasureString(item.Key, font).Width, y);
109删除: }
110删除: else if (mAngle * i > Math.PI * 3 / 2)
111删除: {
112删除: ctx.DrawString(item.Key, font, new SolidBrush(fontColor), x - ctx.MeasureString(item.Key, font).Width * 0.5f, y - fontSize * 0.5f);
113删除: }
114删除: else
115删除: {
116删除: ctx.DrawString(item.Key, font, new SolidBrush(fontColor), x, y /* y + fontSize*/);
117删除: }
118删除: i++;
119删除: }
120删除: ctx.Save();
121删除: }
122删除: //绘制数据区域
123删除: private static void DrawRegion(Graphics ctx)
124删除: {
125删除: int i = 0;
126删除: List<PointF> points = new List<PointF>();
127删除: foreach (var item in mData)
128删除: {
129删除: var x = (float)(mCenter + mRadius * Math.Cos(mAngle * i) * item.Value / 100);
130删除: var y = (float)(mCenter + mRadius * Math.Sin(mAngle * i) * item.Value / 100);
131删除: points.Add(new PointF { X = x, Y = y });
132删除: //ctx.DrawArc(new Pen(lineColor), x, y, r, r, 0, (float)Math.PI * 2);
133删除: i++;
134删除: }
135删除: //GraphicsPath path = new GraphicsPath();
136删除: //path.AddLines(points.ToArray());
137删除: ctx.FillPolygon(new SolidBrush(fillColor), points.ToArray());
138删除: ctx.Save();
139删除: }
140删除: //画点
141删除: private static void DrawCircle(Graphics ctx)
142删除: {
143删除: //var r = mCenter / 18;
144删除: var r = mPointRadius;
145删除: int i = 0;
146删除: foreach (var item in mData)
147删除: {
148删除: var x = (float)(mCenter + mRadius * Math.Cos(mAngle * i) * item.Value / 100);
149删除: var y = (float)(mCenter + mRadius * Math.Sin(mAngle * i) * item.Value / 100);
150删除: ctx.FillPie(new SolidBrush(fillColor), x - r, y - r, r * 2, r * 2, 0, 360);
151删除: //ctx.DrawArc(new Pen(lineColor), x, y, r, r, 0, (float)Math.PI * 2);
152删除: i++;
153删除: }
154删除: ctx.Save();
155删除: }
156删除: }
157删除:}