Bitmap img = new Bitmap(this.Size.Width,this.Size.Height); Graphics g = Graphics.FromImage(img);//1 g.SmoothingMode = SmoothingMode.HighQuality; Point p1 = new Point(2,2); Point p2 = new Point(p1.X+this.Width-4,p1.Y); Point p3 = new Point(p2.X,p2.Y+this.Height-4); Point p4 = new Point(p1.X,p3.Y); g.DrawPolygon(new Pen(Color.Orange,1),new Point[]{p1,p2,p3,p4});//2 Graphics gg = Graphics.FromHwnd(this.Handle);//3 gg.DrawImage(this.img,0,0); //4
我想要得是单击某个按钮,然后一条边一条边的画出整张图。
画的时候,画2份就是了。
然后在你的ONPAINT事件里判断一下:
如:
if(this.shadowImage!= null)
e.Graphics.DrawImage(this.shadowImage,0,0);
这个定义的shadowImage和我画的图有什么联系吗?
Graphics g = Graphics.FromImage(img);//1
g.SmoothingMode = SmoothingMode.HighQuality;
Point p1 = new Point(2,2);
Point p2 = new Point(p1.X+this.Width-4,p1.Y);
Point p3 = new Point(p2.X,p2.Y+this.Height-4);
Point p4 = new Point(p1.X,p3.Y);
g.DrawPolygon(new Pen(Color.Orange,1),new Point[]{p1,p2,p3,p4});//2
Graphics gg = Graphics.FromHwnd(this.Handle);//3
gg.DrawImage(this.img,0,0); //4
{
if(this.img != null)
e.Graphics.DrawImage(this.shadowImage,0,0);
}
先画在定义好的那个imageShadow上的,
Graphics g = Graphics.FromImage(imageShadow);
//todo 加入你实际画线的方法
...
//最后:
Graphics gg = Graphics.FromHwnd(你的pictureBox.Handle);//
gg.DrawImage(this.imageShadow,0,0); //
而且,一按button,整棵树就一下子画出来了,不再像原来那样按一下button画一条边了
到底怎么回事啊??我晕了