using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Load += Form1_Load; } private void Form1_Load(object sender, EventArgs ev) { var pen1 = new Pen(Color.Green); pen1.Width = 1f / 20; var pen2 = new Pen(Color.Red); pen2.Width = 1f / 20; var pen3 = new Pen(Color.Blue); pen3.Width = 1f / 20; var pen4 = new Pen(Color.Yellow); pen4.Width = 1f / 20; this.Paint += (s, e) => { var g = e.Graphics; g.Clear(Color.FromArgb(253, 241, 219)); g.SmoothingMode = SmoothingMode.AntiAlias; g.DrawLine(pen1, new Point(0, Height / 2), new Point(Width, Height / 2)); g.DrawLine(pen1, new Point(Width / 2, 0), new Point(Width / 2, Height)); { PointF point = PointF.Empty; for (int _x = 0; _x < Width; _x++) { var x = _x - Width / 2; var y = Convert.ToSingle(100 * Math.Sin(.1 * x)); var _y = -y + Height / 2; var pt = new PointF(_x, _y); if (!point.IsEmpty) { g.DrawLine(pen1, point, pt); } point = pt; } } { PointF point = PointF.Empty; for (int _x = 0; _x < Width; _x++) { var x = _x - Width / 2; var y = Convert.ToSingle(100 * Math.Cos(.1 * x)); var _y = -y + Height / 2; var pt = new PointF(_x, _y); if (!point.IsEmpty) { g.DrawLine(pen2, point, pt); } point = pt; } } { PointF point = PointF.Empty; for (int _x = 0; _x < Width; _x++) { var x = _x - Width / 2; var y = Convert.ToSingle(100 * Math.Tan(.1 * x)); var _y = -y + Height / 2; var pt = new PointF(_x, _y); if (!point.IsEmpty) { g.DrawLine(pen3, point, pt); } point = pt; } } { PointF point = PointF.Empty; for (int _x = 0; _x < Width; _x++) { var x = _x - Width / 2; if (x <= 0) continue; var y = Convert.ToSingle(10 * Math.Log(.1 * x)); var _y = -y + Height / 2; var pt = new PointF(_x, _y); if (!point.IsEmpty) { g.DrawLine(pen3, point, pt); } point = pt; } } { PointF point = PointF.Empty; for (int _x = 0; _x < Width; _x++) { try { var x = _x - Width / 2; var y = Convert.ToSingle(10 * Math.Pow(Math.E, .1 * x)); var _y = -y + Height / 2; var pt = new PointF(_x, _y); if (!point.IsEmpty) { g.DrawLine(pen3, point, pt); } point = pt; } catch { break; } } } }; } } }
C# winform 绘制函数图像
最新推荐文章于 2024-04-28 00:02:06 发布