您好我在用c#做软件,要用画图功能,但是图像保持不了,听说用onPaint方法可以保持图像,怎么用的啊

C#方面我还有不少不太懂的地方,还请你多多指教
2024-12-18 05:46:12
推荐回答(5个)
回答1:

将数据显示分离开来,根据相应的数据在OnPaint里进行图像绘制。
例如自己的窗体类里:
int[,] GameMap=new GameMap[10,10]; //初始化写在其他地方。

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
//根据数据绘图
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
g.DrawRectangle(Pens.Black,i*40,j*40,40,40);
}

然后,一般森敬情磨培况下最大最小化窗体之类的操作就会重绘窗体,有时候更改数据后要立即重绘的话,调用Invalidate()方法,差不此游慎多就这样。

回答2:

Bitmap bitmap = new Bitmap(@"C;\11.bmp");
Graphics g = Graphics.FromImage(bitmap);
g.DrawString("我是乎银一个中国人", new Font("宋斗顷颂体"空郑, 12), Brushes.Red, 5, 5);
g.Dispose();
bitmap.Save(@"C:\22.bmp");

回答3:

我来跟你交流吧。此段昌 我是认真的,你的保存是什么意思?是在界面上能重画出来,还是把控件的界面保存?那是不同的。如森扒果把控件界面保存,很简单,有个Image属性,可以强转转换为Bitmap类型保存到文件,同时能这样来改变里面的像素或别的。这就是直接修改内存法。不是用CreateGraphics()来画。

给我分吧,你没有选择燃此的,必须给我分,因为我能一针见血的给你解决问题,呵呵

回答4:

用Graphics类中的Flush()吧。

回答5:

onPaint是个事件,建议你把图片保存到本地……