C# 绘制简单图形
先来个等边倒三角形练手:
点1 0,0
点2 100,0
点3 cos(60),sin(60)
var p4 = new Point(); p4.X = 0; p4.Y = 0; var p5 = new Point(); p5.X = width; p5.Y = 0; a = 60; // 角度 var p6 = new Point(); p6.X = (int)(0 + width * (Math.Cos(Math.PI *a/180d))); p6.Y = (int)(0 + width * (Math.Sin(Math.PI *a/180d))); points[0] = p4; points[1] = p5; points[2] = p6; points[3] = p4; Graphics g = e.Graphics; var p = new Pen(Color.Black); g.DrawLines(p, points);
利用刚才的成果,绘制一个等边六角形:
var points = new Point[7]; var width = 100; int a = 60; var p1 = new Point(); p1.X = 0; p1.Y = (int)(0 + width * (Math.Sin(Math.PI * a / 180d))); var p2 = new Point(); p2.X = (int)(0 + width * (Math.Cos(Math.PI * a / 180d))); p2.Y = 0; var p3 = new Point(); p3.X = p2.X + width; p3.Y = 0; var p4 = new Point(); p4.X = p2.X + p3.X; p4.Y = (int)(0 + width * (Math.Sin(Math.PI * a / 180d))); var p5 = new Point(); p5.X = p3.X; p5.Y = p1.Y * 2; var p6 = new Point(); p6.X = p2.X; p6.Y = p5.Y; points[0] = p1; points[1] = p2; points[2] = p3; points[3] = p4; points[4] = p5; points[5] = p6; points[6] = p1; Graphics g = e.Graphics; var p = new Pen(Color.Black); g.DrawLines(p, points);
再来一个:
a = 30; var p1 = new Point(); p1.X = 0; p1.Y = (int)(0 + width * (Math.Sin(Math.PI * a / 180d))); var p2 = new Point(); p2.X = (int)(0 + width * (Math.Cos(Math.PI * a / 180d))); p2.Y = 0; var p3 = new Point(); p3.X = p2.X * 2; p3.Y = p1.Y; var p4 = new Point(); p4.X = p3.X; p4.Y = p3.Y + width; var p5 = new Point(); p5.X = p2.X; p5.Y = p4.Y + p1.Y; var p6 = new Point(); p6.X = 0; p6.Y = p1.Y + width; points[0] = p1; points[1] = p2; points[2] = p3; points[3] = p4; points[4] = p5; points[5] = p6; points[6] = p1;
最终效果图:
给六边形加两个内圆:
// 画一个内圆 var x = width - (int)(0 + width * (Math.Cos(Math.PI * a / 180d))); ; var y = 0; p.Color = Color.DarkBlue; g.DrawEllipse(p, x, y, (width - x) * 2, (width - x) * 2); // 画一个内圆 x = 0; y = width - (int)(0 + width * (Math.Cos(Math.PI * a / 180d))); p.Color = Color.Violet; g.DrawEllipse(p, x, y, (width - y) * 2, (width - y) * 2);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2017-07-24 [转]Explorer.exe的命令行参数