C#图像处理中的两个重要类

Bitmap类

Bitmap是用来处理由像素数据定义的图像的对象。

其继承层次结构:System.Object->System.MarshalByRefObject->System.Drawing.Image->System.Drawing.Bitmap

命名空间:System.Drawing

程序集:System.Drawing(在System.Drawing.dll中)

该类主要属性

Height:获取图像的高度(像素为单位);

Width:获取图像的宽度(像素为单位);

Palette:获取或设置图像的调色板;

PixelFormat:获取图像的像素格式。

2



该类最主要的方法有LockBits、UnlockBits,分别锁定和解锁系统内存中的位图像素,成对使用,每次调用LockBits之后都应该调用一次UnlockBits。


public BitmapData LockBits(Rectangle rect, ImageLockMode flags, PixelFormat format);

public void UnLockBits(BitmapData bitmapdata);

1



BitmapData类

BitmapData对象指定了位图属性。

Height:被锁定位图的高度;

Width:被锁定位图宽度;

PixelFormat:数据实际像素格式;

Scan0:被锁定数组受字节地址,如整个图像被锁定,则是图像第一个字节地址;

Stride:步幅,也称之为扫描宽度。

3



如上图所示,数组宽度并不一定等于图像像素数组的宽度,还有一部分未用区域。这是为了提高效率,系统要确定每行的字节数必须为4的倍数。

posted @ 2012-04-16 21:53  trirocky  阅读(413)  评论(1编辑  收藏  举报