C#实现绘制随机噪点和直线

 更新时间:2023年01月05日 11:06:20   作者:芝麻粒儿  
这篇文章主要为大家详细介绍了C#如何实现绘制随机噪点和直线,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下

实践过程

效果

代码

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;
            }
        }
    }

到此这篇关于C#实现绘制随机噪点和直线的文章就介绍到这了,更多相关C#绘制随机噪点 直线内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 怎么利用c#修改services的Startup type

    怎么利用c#修改services的Startup type

    C#必须以管理员的权限运行才能达到效果的,不然service的startmode修改是没有效果的
    2013-08-08
  • C# FileSystemWatcher 在监控文件夹和文件时的使用方法

    C# FileSystemWatcher 在监控文件夹和文件时的使用方法

    这篇文章主要介绍了C# FileSystemWatcher 在监控文件夹和文件时的使用方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • C#使用DateTime.Now静态属性动态获得系统当前日期和时间

    C#使用DateTime.Now静态属性动态获得系统当前日期和时间

    本文主要介绍了C#使用DateTime.Now静态属性动态获得系统当前日期和时间,DateTime结构的Now静态属性只是得到一个系统时间对象,该时间对象不会随着系统时间的变化而变化,如果要动态显示系统时间,可以使用计时器间隔地获取系统时间对象并显示,感兴趣的可以了解一下
    2024-01-01
  • 解决C#中Linq GroupBy 和OrderBy失效的方法

    解决C#中Linq GroupBy 和OrderBy失效的方法

    最近发现了一个问题,在服务器端的Linq GroupBy 和OrderBy居然不管用,后来终于解决了所以现在分享给大家,有需要的朋友们可以参考借鉴。
    2016-09-09
  • C#上位机与三菱PLC通讯的实现步骤(图文)

    C#上位机与三菱PLC通讯的实现步骤(图文)

    这篇文章主要介绍了C#上位机与三菱PLC通讯的实现步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • C#异常处理详解

    C#异常处理详解

    这篇文章介绍了C#异常处理,有需要的朋友可以参考一下
    2013-10-10
  • C# 并行和多线程编程——Task进阶知识

    C# 并行和多线程编程——Task进阶知识

    这篇文章主要介绍了C# 并行和多线程编程——Task进阶知识的的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • 访问修饰符(C# 编程指南)

    访问修饰符(C# 编程指南)

    所有类型和类型成员都具有可访问性级别,用来控制是否可以在您程序集的其他代码中或其他程序集中使用它们。您在声明类型或成员时使用以下访问修饰符之一来指定其可访问性
    2011-02-02
  • c#获取本机在局域网ip地址的二种方法

    c#获取本机在局域网ip地址的二种方法

    在项目中经常要获取用户的上网的IP地址,如何获取用户的IP地址,方法很多,现在介绍以下2种
    2014-01-01
  • C#如何连接MySQL数据库

    C#如何连接MySQL数据库

    这篇文章主要介绍了C#如何连接MySQL数据库,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-10-10

最新评论