双缓冲中使用 BufferedGraphics 的一个大问题
使用了 BufferedGraphics 来实现双缓冲。
我以前一直使用 Image 来实现双缓冲的。
这次好玩,把一些控件改成了 BufferedGraphics , 然后发现一个问题。
简单的说就是: BufferedGraphics 无法Clear ,准确的说无法使用 透明颜色 进行Clear
比如 有一个 BufferedGraphics grafx,
1.如果我们 grafx.Graphics.Clear( Color.FromArgb(128,0,0,0) ;
2.随后我们在一个函数内调用: grafx.Render( OutGraphics ) ;
其中OutGraphics是一个外部的Graphics
结果:
画在 OutGraphics 中的将是一个黑色的画块,而不是一个半透明的画块。
但是如果我们用 Graphics.FromImage 来绘画,最后就是一个正常的半透明画块。
谁能告诉我为什么,谢谢?
------解决方案--------------------
顶一个,最近也在研究绘图 很有意思...