C#数字图像处理<一>

C#数字图像处理基础

Bitmap类,BitmapData类和Graphics类是C#图像处理中最重要的3个类,如果要用C#进行图像处理,就一定要掌握它们.


1Bitmap类

Bitmap对象封闭了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:

GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色

PixelFormat属性:返回图像的像素格式

Palette属性:获取和或设置图像所使用的颜色调色板

Height属性和Width属性:返回图像的高度和宽度

LockBits方法和UnlockBits方法:分别锁定和解锁系统内在中的位图像素.

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

ImageLockMode 可选择:

ReadOnly:位图的锁定部分只用于读操作

ReadWrite:位图的锁定部分用于读操作和写操作

UserInputBuffer:读取和定入像素数据的缓存由用户分配

WriteOnly:位图的锁定部分只用于写操作

PixelFormat可选择:

Format1bppIndexed:每个像素1位,使用索引颜色,因此颜色表中有两种颜色

Format4bppIndexed:每个像素4位,使用索引颜色

Format8bppIndexed:每个像素8位,使用索引颜色

Format16bppIndexed:每个像素16位,共指定65536种灰色调

Format24bppRgb:每个像素24位,R,G,B分别分别使用8位,它们的顺序是B,G,R

Format32bppArgb:每个像素32位,Alpha,R,G,B分量分别使用8位,这是默认的GDI+颜色组合

Format64bppArgb:每个像素64位,Alpha,R,G,B分量分别使用16位

Indexed: 索引颜色值,这些值是系统颜色的索引,而不是单个颜色值

public void UnlockBits(BitmapData bitmapdata);


2BitmapData类

BitmapData对象指定了位图的属性:

Height属性:被锁定位图的高度

Width属性:被锁定位图的宽度

PixelFormat属性:数据的实际像素格式

Scan0属性:被锁定数组的首字节地址.如果整个图像被锁定,则是图像的第一个字节地址

Stride属性:步幅,也称为扫描宽度(注意是4的倍数)

3Graphics类

Graphics类定义了绘制和填充图形对象的方法和属性.以后在例子中讲解.


示例一:

使用了OpenFileDialog,SaveFileDialog,Graphics类.

我的运行环境为WIN7 64+VS2010

示例一结果:

图像显示图像显示

示例下载地址:C#数字图像处理示例一


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值