C#实现绘制随机噪点和直线
芝麻粒儿 人气:0实践过程
效果
代码
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Bitmap image = new Bitmap(100, 22); Graphics g = Graphics.FromImage(image); try { //生成随机生成器 Random random = new Random(); //清空图片背景色 g.Clear(Color.White); //画图片的背景噪音线 for (int i = 0; i < 2; i++) { Point tem_Point_1 = new Point(random.Next(image.Width), random.Next(image.Height)); Point tem_Point_2 = new Point(random.Next(image.Width), random.Next(image.Height)); g.DrawLine(new Pen(Color.Black), tem_Point_1, tem_Point_2); } //画图片的前景噪音点 for (int i = 0; i < 100; i++) { Point tem_point = new Point(random.Next(image.Width), random.Next(image.Height)); image.SetPixel(tem_point.X, tem_point.Y, Color.FromArgb(random.Next())); } //画图片的边框线 g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); pictureBox1.Image = image; } catch { } } }
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Image.FromFile(openFileDialog1.FileName); } } private void button2_Click(object sender, EventArgs e) { if (pictureBox1.Image != null) { Bitmap bt = new Bitmap(pictureBox1.Image); Graphics g = Graphics.FromImage(bt); g.DrawLine(new Pen(Color.Red, 40), new Point(0, bt.Height / 2), new Point(bt.Width, bt.Height / 2)); g.DrawLine(new Pen(Color.Red, 40), new Point(bt.Width / 2, 0), new Point(bt.Width / 2, bt.Height)); g.DrawLine(new Pen(Color.Red, 40), new Point(0, 0), new Point(bt.Width, bt.Height)); g.DrawLine(new Pen(Color.Red, 40), new Point(0, bt.Height), new Point(bt.Width, 0)); pictureBox1.Image = bt; } } }
加载全部内容