C#例子之画图

   GID+:

   GDI+ (GraphicsDevice Interface) 是一种绘图装置接口, 可将应用程序和绘图硬件分隔, 让我们能够编写与装置无关的应用程序。它可以让我们不需注意特定显示装置的详细数据, 便可在屏幕或打印机显示信息。我们可以呼叫GDI+ 类别所提供的方法, 然后这些方法会适当地呼叫特定的装置驱动程序, 而完成绘图。而且与.NET进行了更好的融合。

   Graphics对象

  它采用面向对象的封装机制,提供将对象(图形或文本)绘制到设备(如屏幕或打印机)的方法,这些对象是独立

于Graphics对象的,它们为Graphics类中的图形方法的参数,从而简化了图形编程。

   例子实现:

private void button1_Click(object sender, EventArgs e)
        {
            Point p_1 = new Point(80, 280);//第一个点

            Point p_2 = new Point(310, 180);

            Pen p = new Pen(Color.Red);

            Graphics g = this.CreateGraphics();
            //画直线
            g.DrawLine(p, p_1, p_2);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Pen p = new Pen(Color.Blue);
            Size size = new Size(200, 150);
            Rectangle rec = new Rectangle(new Point(75, 75), size);
            g.DrawRectangle(p, rec);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();

            Size size = new Size(200, 150);
            g.FillRectangle(Brushes.Green, new Rectangle(new Point(75, 75), size));
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();

            g.DrawString("每天好心情", new Font("华文行楷", 20), Brushes.Blue, new Point(180, 200));
        }

  运行结果:

       


       


总结:

 通过学习C#视频自己可以动手实践一些例子,实现例子的过程就是对知识的学习过程!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
C#中,可以通过在PictureBox控件上绘制图形来创建GUI画图。要实现分层,可以使用多个PictureBox控件,并将它们放置在同一位置,以创建图层效果。您可以在每个PictureBox上绘制不同的图形,然后在需要时控制它们的可见性,以显示或隐藏特定的图层。 例如,您可以创建一个名为“backgroundPictureBox”的PictureBox控件,用于绘制背景图像或颜色。然后,您可以创建一个名为“foregroundPictureBox”的PictureBox控件,用于绘制前景图像或对象。您可以在需要时更改这些PictureBox的可见性,以显示或隐藏不同的图层。 下面是一个示例代码片段,演示如何在两个PictureBox上绘制不同的图形: ```csharp // 创建两个PictureBox控件 PictureBox backgroundPictureBox = new PictureBox(); PictureBox foregroundPictureBox = new PictureBox(); // 将它们放置在同一位置 backgroundPictureBox.Location = new Point(0, 0); foregroundPictureBox.Location = new Point(0, 0); // 将它们添加到窗体上 this.Controls.Add(backgroundPictureBox); this.Controls.Add(foregroundPictureBox); // 在背景PictureBox上绘制背景图像或颜色 using (Graphics g = Graphics.FromImage(backgroundPictureBox.Image)) { // 绘制背景图像或颜色 } // 在前景PictureBox上绘制前景图像或对象 using (Graphics g = Graphics.FromImage(foregroundPictureBox.Image)) { // 绘制前景图像或对象 } // 显示或隐藏不同的图层 backgroundPictureBox.Visible = true; // 显示背景图层 foregroundPictureBox.Visible = false; // 隐藏前景图层 ``` 请注意,以上代码仅用于演示目的。实际实现可能需要更多的代码和逻辑来实现所需的分层效果。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值