blob: 0559ececf2e676223910cdd86b61eaddd35566fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Plotter
{
public partial class Plot : Form
{
Random rand = new Random();
public Plot()
{
InitializeComponent();
Render();
}
void Render()
{
using var bmp = new Bitmap(Canvas.Width, Canvas.Height);
using var gfx = Graphics.FromImage(bmp);
using var pen = new Pen(Color.White);
// draw one thousand random white lines on a dark blue background
gfx.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gfx.Clear(Color.Navy);
for (int i = 0; i < 1000; i++)
{
var pt1 = new Point(rand.Next(bmp.Width), rand.Next(bmp.Height));
var pt2 = new Point(rand.Next(bmp.Width), rand.Next(bmp.Height));
gfx.DrawLine(pen, pt1, pt2);
}
// copy the bitmap to the picturebox (double buffered)
Canvas.Image?.Dispose();
Canvas.Image = (Bitmap)bmp.Clone();
}
private void Canvas_SizeChanged(object sender, EventArgs e)
{
Render();
}
private void Canvas_MouseDown(object sender, MouseEventArgs e)
{
Render();
}
private void Plot_Load(object sender, EventArgs e)
{
}
}
}
|