菜单
  

    2.为了显示的方便,除了真彩色外,其他的每中颜色模式的行字节数要用数据“00”补齐为4的整数倍。如果显示模式为16色,当图像宽为19时,存储时每行则要补充4-(19/2+1)%4=2个字节(加1是因为里面有一个像素点要独占了一字节)。如果显示模式为256色,当图像宽为 19时,每行也要补充4-19%4=1个字节。
    还有一点,当屏幕初始化为16或256色模式时,一定要设置调色板或修正颜色值,否则无法得到正确的图像颜色。
    Bitmap类
    Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成。因此Bitmap是用于处理由像素数据定义的图像的对象。该类的主要方法和属性如下。
    GetPixel方法和SetPixel方法:获取和设置一个图像的制定像素的颜色。
    PixelFormat属性:返回图像的像素格式。
    Palette属性:获取或设置图像所使用的颜色调色板。
    Height属性和Width属性:返回图像的高度和宽度。
    Bitmap类的常用方法如下:
    GetPixel:获取对象中指定像素的颜色。其使用方法如下:
    Color  pixelColor = bmp.GetPixel(x,y);
    MakeTransparent:使默认的透明颜色对此对象透明。
    RotateFlip:旋转、翻转或者同时旋转和翻转对象。它主要有三种翻转方式,即90度、180度和270度。具体使用方法如下:
    Image tmp = curBitmap;//定义一个Image
    tmp.RotateFlip(RotateFlipType.Rotate90lipNone);//旋转90度
    tmp.RotateFlip(RotateFlipType.Rotate90lipNone);//旋转180度
    tmp.RotateFlip(RotateFlipType.Rotate90lipNone);//旋转270度
    Save:将对象以指定的格式保存到指定的Stream对象。
    Setpixel:设定对象中,指定像素颜色。其使用方法如下:
    Bitmap bmp = (Bitmap)this.pictureBox.Image;
    Color pixelcolor =Color.FromArgb(ca,cr,cg,cb);
    bmp.SetPixel(x,y,pixelcolor);
    ca代表Alpha分量值,0为全透明,255为完全不透明,cr、cg、cb是红绿蓝三个颜色分量,值等于255时对应于该颜色值的饱和色。X,y是设置颜色的像素点坐标。
    LookBits方法和UnlockBits方法:分别锁定和解锁系统内存中的位图像素。在基于像素点的图像处理方法中使用LockBits和UnlockBits是一个很好的方式,这两种方法可以使我们通过指定像素的范围来控制位图的任一部分,从而消除了通过循环对位图的像素逐个进行处理的需要。每次调用LockBits之后都应该调用一次UnlockBits。
    LockBits方法定义如下:
    public BitmapData LockBits (Rectangle rect, ImageLockMode flag, PiexlForm format );
    LockBits方法使用3个类型,分别为Rectangle、ImageLockMode 枚举和PiexlForm枚举的参数,并返回一个类型为BitmapData的对象。其中矩形参数定义了要在系统内存中锁定的位图的一部分;ImageLockMode枚举提供了对数据的访问方式,表1所示是它的成员;PiexlForm枚举表示像素的格式,表2所示是它的主要成员。
    表格 3.1 ImageLockMode主要成员
    成员    描述
    ReadOnly    位图的锁定部分只用于读操作
    ReadWrite    位图的锁定部分用于读操作和写操作
    UserInputBuffer    读取和写入像素数据的缓存由用户分配
    WriteOnly    位图的锁定部分只用于写操作
    表格 3.2 PiexlForm主要成员
    成员    描述
    Format1bppIndexed    每个像素1位,使用索引颜色,因此颜色表中有两种颜色
    Format4bppIndexed    每个像素4位,使用索引颜色
    Format8bppIndexed    每个像素8位,使用索引颜色
    Format16bppGrayScale    每个像素16位,共指定65535种色调
    Format24bppRgb    每个像素24位,红色、绿色、蓝色分量分别使用8位,它们的顺序是蓝、绿、红
  1. 上一篇:ASP.NET音像店租赁管理系统的设计与实现+ER图+流程图
  2. 下一篇:VF薄板厂能源数据库的设计+需求分析+文献综述
  1. 基于MATLAB的图像增强算法设计

  2. jsp+sqlserver高校二手商品交...

  3. 基于Kinect的手势跟踪与识别算法设计

  4. JAVA基于安卓平台的医疗护工管理系统设计

  5. java+mysql设备监控记录的大...

  6. 基于核独立元分析的非线...

  7. 基于Hadoop的制造过程大数据存储平台构建

  8. 酸性水汽提装置总汽提塔设计+CAD图纸

  9. 杂拟谷盗体内共生菌沃尔...

  10. 河岸冲刷和泥沙淤积的监测国内外研究现状

  11. 乳业同业并购式全产业链...

  12. 大众媒体对公共政策制定的影响

  13. java+mysql车辆管理系统的设计+源代码

  14. 当代大学生慈善意识研究+文献综述

  15. 十二层带中心支撑钢结构...

  16. 电站锅炉暖风器设计任务书

  17. 中考体育项目与体育教学合理结合的研究

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回