{
//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; //将图片放在哪
}
}