C# winform Graphics 画图问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform Graphics 画图问题?相关的知识,希望对你有一定的参考价值。

我把图画在了Panel里了,而且做的是可以上下滚动的,但是滚动条一动,原来画的图就没有了,如果切换一下,就可以回来了,是什么原因呢?缓存?要如何解决呢?

用双缓冲去绘图。
改写paint()方法。这样滚动的话还是可以很平滑显示动画de !
参考技术A base.OnPaint 参考技术B 一楼正解

Graphics

Image img = Image.FromFile("g1.jpg");//建立Image对象
Graphics g = Graphics.FromImage(img);//创建Graphics对象

第一句应该很好理解了,就是读文件载人内存成为一个image,然后C#里面任何画图的方法都必须先获取到相应的Graphics,所以第二句可以理解为准备好在image上作图了。至于上面说从Image继承,是因为image是一个抽象类,代表了任何的图片之类的类,还有其他类比如Bitmap是继承自image。

 

Graphics.FromImage(img);的功能是什么?这样定义后画布与图片的关系到底是怎样的?
 
就是通过image创建了个画布,就是允许你改变image。你就想象成Graphics就像图片外面一层透明的膜,在膜上画图就相当于在image上画图了。

以上是关于C# winform Graphics 画图问题?的主要内容,如果未能解决你的问题,请参考以下文章

C#画图——Graphics

WinForm画图

C# 画图,同时保存为图片 Graphics g = e.Graphics

C# System.Drawing.Graphics 画图后,如何保存一个低质量的图片,一个占用空间较小的图片

winform c# groupBox 的边框颜色 怎么设?

C# WinForm,Graphics.MeasureString 计算不准确的坑