zoukankan      html  css  js  c++  java
  • 新建winform项目,在其中拖入2个button和1个 PictureBox,1Openfiledialog用Graphics\pen\brush\color\Font\的属性画出不同图案 .

      private void button1_Click(object sender, EventArgs e)
            {
                //Graphics g = this.CreateGraphics();            //这里图像对象的初始化不能使用new的形式
                ////在初始化一个图像对象的时候,必须关联一个图像输出的设备。
                //g.DrawLine(Pens.Red, 0, 0, 100, 100);
                Graphics g = this.pictureBox1.CreateGraphics();
                g.DrawRectangle(Pens.Blue, 10, 10, 60, 100);

            }

            private void Form1_Paint(object sender, PaintEventArgs e)
            {
                //Graphics g = this.CreateGraphics();            //这里图像对象的初始化不能使用new的形式
                ////在初始化一个图像对象的时候,必须关联一个图像输出的设备。
                //g.DrawLine(Pens.Red, 0, 0, 300, 300);

                e.Graphics.DrawRectangle(Pens.Blue, 10, 10, 60, 100);  //相对于form画的矩形
            }

            private void button2_Click(object sender, EventArgs e)
            {
                if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK)
                {
                    Image img = Image.FromFile(this.openFileDialog1.FileName);   //指定图片位置
                    Graphics g = Graphics.FromImage(img);  //指定图像输出设备是img(可以不需要,但是要在图片上画东西就必须有)
                   
                    Color c1 = Color.FromArgb(255, 0, 255);//紫色(指定色彩)
                    Pen pen2 = new Pen(c1, 20);
                    g.DrawEllipse(pen2, 0, 200,120,60);  //画了个红色的椭圆

                    Color c2 = Color.FromArgb(150, 200, 100, 210);   //第一个参数表示透明度,数越小表示透明度越大
                    Pen  pen3=new Pen(c2,30);
                     g.DrawEllipse(pen3, 0, 300,120,120);

                    //画直线
                    Pen pen = new Pen(Color.Black, 10);
                    g.DrawLine(pen, 0, 300, 800, 300);
                    g.DrawLine(Pens.Green, 0, 1000, 800, 1000);

                    //画椭圆(特殊的圆)
                    g.DrawEllipse(Pens.Green, 0, 40, 40, 40);  //圆
                    g.DrawEllipse(Pens.Green, 40, 40, 40, 40);
                    g.DrawEllipse(Pens.Green, 80, 40, 40, 40);
                    g.DrawEllipse(Pens.Green, 120, 40, 40, 40);
                    g.DrawEllipse(Pens.Green, 160, 40, 40, 40);
                    g.DrawEllipse(Pens.Green, 200, 40, 40, 40);
                    g.DrawEllipse(Pens.Green, 240, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 280, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 320, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 360, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 400, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 440, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 480, 40, 40, 40);
                    g.FillEllipse(Brushes.Green, 520, 40, 40, 40);


                    g.DrawPie(pen3, 30, 40, 400, 400, 90, 245);//画的扇形
                    g.DrawArc(pen2, 30, 90, 400, 400, 90, 245);
                   
                    #region 画刷的使用
                    Brush b=Brushes.Green;
                    g.FillEllipse(b, 800, 40, 80, 80);

                    //实心画刷
                    SolidBrush b2 = new SolidBrush(c2);
                    g.FillEllipse(b2, 600, 40, 40, 40);

                    //使用图像的画刷
                    Image img1 = Image.FromFile("d:\\tupian.jpg");
                    TextureBrush b3 = new TextureBrush(img1);
                    g.FillEllipse(b3, 600, 40, 40, 40);  //扇形

                    g.FillPie(b3, 0, 0, 400, 400, 0,45);
                    g.FillRectangle(b3, 400, 400, 400, 400);  //矩形
                    g.FillPie(b2, 100, 0, 400, 400, 0, 45);
                    #endregion

                    //画字
                    g.DrawString("HBSI", new Font("宋体", 180), b3, 0, 0);
                    //图
                    g.DrawImage(img1, img.Width - img1.Width - 20, img.Height - img1.Height - 20);
                    img.Save("d:\\aa.jpg");
                      
                    this.pictureBox1.Image = img;  //将图片放在哪
                }
            }

  • 相关阅读:
    【Kubernetes】Service 实现探索
    【Kubernetes】浏览器访问服务
    【Kubernetes】访问入口-Service
    oracle 分页查询
    本地cmd命令打war包、解压war包
    xp系统上安装和使用kettle
    VWware15安装windows XP纯净版虚拟机
    JDK8:HashMap源码解析:TreeNode类的balanceInsertion方法
    红黑树
    kettle JVM内存设置-
  • 原文地址:https://www.cnblogs.com/duanlinlin/p/2834678.html
Copyright © 2011-2022 走看看