實驗五 圖形設計

每複製一個方法都要綁定Paint事件

一、創建Windows窗體應用程序,要求如下:(源代碼+運行界面,缺少任一項爲0分,源代碼只需粘貼繪製圖形代碼所在的方法,不用粘貼太多)

例如:
在這裏插入圖片描述

(1)添加一個窗體Form1,繪製兩個矩形,一個爲藍色邊框,另一個爲紅色邊框,如下圖所示。

在這裏插入圖片描述

using System;
using System.Windows.Forms;
using System.Drawing;
private void Form1_Paint(object sender,PaintEventArgs e)
        {
            /*
            Graphics obj = this.CreateGraphics();
            int x, y, w, h;
            x = 10; y = 10; w = 150; h = 150;
            obj.DrawLine(Pens.Blue, x, y, x+w, y);
            obj.DrawLine(Pens.Blue, x, y, x, y+h);
            obj.DrawLine(Pens.Blue, x + w, y, x + w, y + h);
            obj.DrawLine(Pens.Blue, x, y + h, x + w, y + h);

            Graphics obj1 = this.CreateGraphics();
            int x1, y1, w1, h1;
            x1 = 50; y1 = 50; w1 = 150; h1 = 150;
            obj.DrawLine(Pens.Red, x1, y1, x1 + w1, y1);
            obj.DrawLine(Pens.Red, x1, y1, x1, y1 + h1);
            obj.DrawLine(Pens.Red, x1 + w1, y1, x1 + w1, y1 + h1);
            obj.DrawLine(Pens.Red, x1, y1 + h1, x1 + w1, y1 + h1);
            */

            Graphics gobj = this.CreateGraphics();
            Pen bluePen = new Pen(Color.Blue, 5);
            Pen redPen = new Pen(Color.Red, 5);
            Rectangle myRectangle = new Rectangle(50, 50, 100, 80);
            gobj.DrawRectangle(bluePen, 30, 20, 100, 80);
            gobj.DrawRectangle(redPen, myRectangle);

        }
(2)添加一個窗體Form2,繪製兩個填充餅形構成一個橢圓,如下圖所示。

在這裏插入圖片描述

using System;
using System.Drawing;
using System.Windows.Forms;
private void Form2_Paint(object sender,PaintEventArgs s) {
            /*
            Graphics obj = this.CreateGraphics();

            Rectangle rec1 = new Rectangle(20, 20, 150, 90);
            obj.FillPie(Brushes.Red, rec1, 300, 60);//1點方向順時針60°

            Rectangle rec2 = new Rectangle(20, 20, 150, 90);
            obj.FillPie(Brushes.Blue,rec2,0,300);//3點方向順時針300°
            */
            Graphics gobj = this.CreateGraphics();
            gobj.FillPie(Brushes.Blue, 30, 30, 130, 80, 0, 300);
            gobj.FillPie(Brushes.Red, 30, 30, 130, 80, 0, -60);

        }
(3)添加一個窗體Form3,繪製一個帶邊的填充橢圓,如下圖所示。

在這裏插入圖片描述

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
private void Form3_Paint(object sender, PaintEventArgs e)
{
    Graphics gobj = this.CreateGraphics();
    HatchBrush myBrush = new HatchBrush(HatchStyle.BackwardDiagonal, Color.Blue, Color.Green);
    Pen myPen = new Pen(Color.Red, 8);
    gobj.DrawEllipse(myPen, 20, 20, 150, 100);
    gobj.FillEllipse(myBrush, 20, 20, 150, 100);
}

(4)添加一個窗體Form4,用不同的大小字體繪製3個文本,如下圖所示。

在這裏插入圖片描述

using System;
using System.Drawing;
using System.Windows.Forms;
private void Form4_Paint(object sender, PaintEventArgs s)//加引用using System.Drawing.Drawing2D;
        {
            /*
            Graphics obj = this.CreateGraphics();
            StringFormat sf1 = new StringFormat();
            //StringFormat sf2 = new StringFormat();
            Font f1 = new Font("隸書",20,FontStyle.Bold);
            Font f2 = new Font("隸書", 5, FontStyle.Bold);
            HatchBrush obj1 = new HatchBrush(HatchStyle.Vertical,Color.Blue,Color.Green);
            SolidBrush obj2 = new SolidBrush(Color.Red);
            sf1.Alignment = StringAlignment.Far;
            //sf2.FormatFlags = StringFormatFlags.DirectionVertical;//豎直
            obj.DrawString("中華人民共和國",f1,obj1,220,15,sf1);
            obj.DrawString("中華人民共和國", f2, obj1, 300, 100, sf1);
            //obj.DrawString("中華人民共和國", f, obj2, 100, 5, sf1);
            */

            int i;
            StringFormat strFormat;
            Font strFont;
            SolidBrush strBrush;
            Graphics gobj = this.CreateGraphics();
            for (i = 10; i <= 24; i += 6)
            {
                strFormat = new StringFormat();
                strFont = new System.Drawing.Font("隸書", i);
                strBrush = new SolidBrush(Color.Red);
                gobj.DrawString("中華人民共和國", strFont, strBrush, 2 * i, 3 * i, strFormat);
            }
        }

二、創建Windows窗體應用程序,添加一個窗體Form1,添加3個命令按鈕,單擊時分別在窗體上畫一條直線、一個形狀和一個文本,如下圖所示。(源代碼+運行界面,缺少一項爲0分,源代碼只需粘貼繪製圖形代碼所在的方法,不用粘貼太多)

在這裏插入圖片描述

private void button1_Click(object sender, EventArgs e)
{
    Pen myPen = new Pen(System.Drawing.Color.Blue);
    Graphics gobj = this.CreateGraphics();
    gobj.DrawLine(myPen, 30, 30, 120, 120);
}

private void button2_Click(object sender, EventArgs e)
{
    Pen myPen = new Pen(System.Drawing.Color.Blue);
    Graphics gobj = this.CreateGraphics();
    gobj.DrawEllipse(myPen, new Rectangle(30, 30, 100, 100));
}

private void button3_Click(object sender, EventArgs e)
{
    Graphics gobj = this.CreateGraphics();
    string drawString = "使用DrawString方法";
    Font myFont = new Font("黑體", 16);
    Brush b = new SolidBrush(System.Drawing.Color.Blue);
    float x = 30.0F;
    float y = 30.0F;
    StringFormat myFormat = new StringFormat();
    gobj.DrawString(drawString, myFont, b, x, y, myFormat);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章