Moh*_*lim 3 c# drawing gdi+ graphics2d winforms
我使用PictureBox控件绘制复杂的图表,为了优化性能,我对绘图的每一层使用缓存Bitmap,并将它们绘制在控件图像上,上层有透明背景,我需要清除它们并重新绘制在每一个变化。
假设Bitmap的Graphics类的g个实例,使用g.Clear(Color.White)在所有的东西上画一个白色的矩形,所以隐藏了下层,并在上面g.Clear(Color.Transparent)画了透明的矩形,这意味着什么都不做。
没有办法清除 Bitmap 使其恢复到原始状态吗?
private void btn_CancelImage_Click(object sender, EventArgs e)
{
DialogResult dialogResult = MessageBox.Show("Cancel and delete this Image?", "Cancel", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
ClearImage();
pictureBox1.Refresh();
}
else if (dialogResult == DialogResult.No)
{
return;
}
}
public void ClearImage()
{
Graphics g = Graphics.FromImage(ImageBitmap);
g.Clear(Color.White);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5780 次 |
| 最近记录: |