首页 新闻 会员 周边

请教一个关于Winform中GDI+绘图的问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-11-22 16:24

先上代码:

1 Bitmap bitmap =newBitmap(200,200);
2 Graphics g =Graphics.FromImage(bitmap);
3 g.Clear(BackColor);    
4 bitmap.MakeTransparent(BackColor);         
5 g.DrawEllipse(newPen(Color.Red),0,0,100,100);
6 g.DrawLine(newPen(Color.DarkSeaGreen),0,0,100,100);
7 var gw =CreateGraphics();    
8 gw.DrawImage(bitmap,0,0);

代码很简单,先弄一个透明的bitmap,然后画点东西,最后绘到窗口上。

可以不知为什么这段代码无法正确绘制,最终的bitmap是一片透明。

如果把MakeTransparent放到DrawLine后,在包括这个例子在内的某些情况下可以,另外有些情况下仍然不行,请教各位,对此种在透明bitmap上绘制有何方法实现。

hystar的主页 hystar | 初学一级 | 园豆:38
提问于:2012-04-24 23:02
< >
分享
所有回答(1)
0

不知道这样可以不

            Bitmap myBitmap = new Bitmap(200,200);
            myBitmap.MakeTransparent();
            Graphics g = Graphics.FromImage(myBitmap);            
            g.DrawEllipse(new Pen(Color.Red),10,10,100,100);
            g.DrawLine(new Pen(Color.DarkSeaGreen),10,10,100,100); 
            myBitmap.Save(@"c:\test.png ",   ImageFormat.Png);  

周六一 | 园豆:202 (菜鸟二级) | 2012-04-25 09:30

这样是可以的,但在实际应用中需要用clear方法清除已绘制的图像。希望提供可与Clear方法共存的解决方案

支持(0) 反对(0) hystar | 园豆:38 (初学一级) | 2012-04-25 15:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册