先上代码:
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上绘制有何方法实现。
不知道这样可以不
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);
这样是可以的,但在实际应用中需要用clear方法清除已绘制的图像。希望提供可与Clear方法共存的解决方案