博客
关于我
c# 数字图像处理 基础
阅读量:694 次
发布时间:2019-03-16

本文共 1486 字,大约阅读时间需要 4 分钟。

Bitmap类

Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成。因此 Bitmap是用于处理由像素数据定义的图像的对象。

Bitmap类类的主要方法和属性如下:

  • Get Pixel方法和 Setpiⅸel方法:获取和设置一个图像的指定像素的颜色
  • Pixelformat属性:返回图像的像素格式。
  • Palette属性:获取或设置图像所使用的颜色调色板。
  • Height属性和 Width属性:返回图像的高度和宽度
  • Lockbits方法和 Unlockbits方法:分别锁定和解锁系统内存中的位图像素。在基于
    像素点的图像处理方法中使用 Lockbits和 Unlockbits是一个很好的方式,这两种方法可以使
    我们通过指定像素的范围来控制位图的任意一部分,从而消除了通过循环对位图的像素逐个
    进行处理的需要。每次调用 Lockbits之后都应该调用一次 Unlockbits

Lockbits方法的定义如下:

public BitmapData LockBits(rectangle rect,ImageLockMode flag,PixelFormat format);

Lockbits矩形参数Rectangle定义了要在系统内存中锁定的位图的一部分;

Image Lockmode枚举提供了对数据的访问方式,表2.1所示是它的成员;

private void Button1_Click(System.Object sender, System.EventArgs e){       try    {           // Retrieve the image.        image1 = new Bitmap(@"C:\Documents and Settings\All Users\"             + @"Documents\My Music\music.bmp", true);        int x, y;        // Loop through the images pixels to reset color.        for(x=0; x

BitmapData类

Bitmapdata对象指定了位图的属性,如下所示。

  • Height属性:被锁定位图的高度
  • Width属性:被锁定位图的宽度
  • PixelFormat属性:数据的实际像素格式
  • Scan0属性:被锁定数组的首字节地数组的地址。如果整个图像被锁定,则是图像Height的第一个字节地址。
  • Stride属性:步幅,也称为扫描宽度

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

例如一幅24位、宽为17个像素的图像,它需要每行占有的空间为51(3×17)个字节,但51不是4的倍数,因此还需要补充1个字节,从而使每行的字节数扩展为52(4x13,即 Stride=52),这样就满足了每行字节数是4的倍数的条件。需要扩展多少个字节不仅是由图像的宽度决定,而且还由图像像素的格式决定。

在这里插入图片描述

Graphics类

Graphics对象是GDI+的关键所在。许多对象都是由 Graphics类表示的,该类定义了绘制和填充图形对象的方法和属性。一个应用程序只要需要进行绘制或着色,它就必须使用Graphics对象。

Graphics g= pic1.CreatGraphic(); g.DrawLine(Pens.Blue,point1,point2);

转载地址:http://lglqz.baihongyu.com/

你可能感兴趣的文章
mysql字段类型介绍
查看>>
mysql字段解析逗号分割_MySQL逗号分割字段的行列转换技巧
查看>>
MySQL字符集与排序规则
查看>>
MySQL字符集乱码
查看>>
mysql字符集设置
查看>>
mysql存储IP地址的数据类型
查看>>
mysql存储中文 但是读取乱码_mysql存储中文乱码
查看>>
MySQL存储引擎
查看>>
MySQL存储引擎
查看>>
MySQL存储引擎--MYSIAM和INNODB引擎区别
查看>>
Mysql存储引擎(1):存储引擎体系结构和介绍
查看>>
Mysql存储引擎(2):存储引擎特点
查看>>
MySQL存储引擎--MyISAM与InnoDB区别
查看>>
mysql存储总结
查看>>
mysql存储登录_php调用mysql存储过程会员登录验证实例分析
查看>>
MySql存储过程中limit传参
查看>>
MySQL存储过程入门
查看>>
mysql存储过程批量建表
查看>>
MySQL存储过程的使用实现数据快速插入
查看>>
mysql存储过程详解
查看>>