推荐于2018-04-11
展开全部
我也很讨厌官腔,但你理解BItmap前,你应该先要理解Bitmap的父类public sealed class Bitmap : ImageImage有的属性、函数对于Bitmap一样试用一般学习一个新的类,要关注他的目的以及他的主要属性和主要函数1、目的很简单,就是表示一个图像的类,其中记录了绘制这幅图像所必备的各种数据 2、重要属性:Width,Height,从他可以获取图像宽和高,这对于你如何恰当布局图片很有用,比如大于一个你期望的值,你才进行缩小处理。 3、重要函数: Dispose(),因为Image实现了IDispose接口,所以他可以在你不需要使用时,及时的手动释放,而不用等到GC自己去回收,毕竟图片数据也是比较占内存的。 Clone(),实现了ICloneable接口,所以图片可以利用这个函数很方便的进行复制,比如“大家来找茬”游戏,你可以复制一个图片副本,在副本基础上修改,而不破坏前者。 各种From****开头的静态方法,这给你初始化一个图片用的,毕竟不可能所有图片都通过编程实现,大部分来自于本地文件(如JPG),或者网络流(如QQ发送图片),所以你可以猜到,函数的参数是路径或者流,返回值就是实力化好的Image对象。 Save(string filename, ImageFormat format),对图片进行保存,保存到指定位置,并且可以选择保存图片的格式,这个格式是枚举的,所以很方便。 理解了他的构造后,再学习如何绘制Image到用户界面:一般利用GDI+的技术绘制已经在内存中的Image:可以重写窗体的OnPaint函数: protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawImage(image, new Point(0, 0));
base.OnPaint(e);
}利用e事件中的画板,也就是Graphics中的DrawImage函数,带入图片参数以及绘制坐标,就可以绘制图像了。当然也可以通过强行建立画板: Graphics g = this.CreateGraphics();//这个this指当前winform窗体,事实上,所有control都可以这样创建
g.DrawImage(image, new Point(0, 0));如果你对GDI+不熟悉,建议再看下Graphics这个类,图片就是通过它来绘制的。他也可以绘制点、直线、曲线,甚至填充等等。 上述Image的属性和函数,Bitmap也包括了
{
e.Graphics.DrawImage(image, new Point(0, 0));
base.OnPaint(e);
}利用e事件中的画板,也就是Graphics中的DrawImage函数,带入图片参数以及绘制坐标,就可以绘制图像了。当然也可以通过强行建立画板: Graphics g = this.CreateGraphics();//这个this指当前winform窗体,事实上,所有control都可以这样创建
g.DrawImage(image, new Point(0, 0));如果你对GDI+不熟悉,建议再看下Graphics这个类,图片就是通过它来绘制的。他也可以绘制点、直线、曲线,甚至填充等等。 上述Image的属性和函数,Bitmap也包括了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询