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

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

Bitmap类

Bitmap类是GDI+中的一个核心对象,它封装了系统中的位图资源。一个位图由像素数据和相关属性组成,允许开发者通过像素操作进行图像处理。

Bitmap类的主要方法与属性

  • GetPixel 和 SetPixel

    • 通过这些方法可以获取和设置指定像素的颜色,允许对图像进行局部修改。
  • PixelFormat属性

    • 返回图像的像素格式,决定了如何解释像素的颜色信息。
  • Palette属性

    • 如果图像是索引色彩图( Palette '), 这个属性可以返回对应的调色板信息。
  • Height和Width属性

    • 表示图像的高度和宽度。
  • LockBits 和 UnlockBits 方法

    • LockBits用于锁定位图所占用的系统内存,允许对位图像素进行批量操作。 UnlockBits则负责解锁内存以释放资源。
    • locks于指定矩形区域的位图内存,允许开发者逐行或逐列处理像素数据,提高了处理效率。

  • BitmapData类

    BitmapData类是一个与Bitmap类相关的辅助类,它提供了有关位图的详细属性信息。

    BitmapData的主要属性

  • Height和Width

    • 表示被锁定位图的高度和宽度。
  • PixelFormat

    • 指定被锁定位图的像素格式。
  • Scan0

    • 表示被锁定内存中的第一个字节的起始地址。
  • Stride

    • 也称为扫描宽度,表示每行的字节数。由于系统要求每行的字节数必须是4的倍数,Stride的值会根据图像尺寸和像素格式进行计算。

  • Graphics类

    Graphics类是GDI+中最核心的绘图对象之一。它允许开发者向画布上绘制图形、填充颜色和进行其他图形操作。

    使用Graphics对象的示例

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

    关键点总结

    • Bitmap类封装了位图资源,提供了像素级别的控制。
    • BitmapData类定义了位图的详细属性,例如高度宽度、像素格式和锁定的内存布局。
    • LockBits/UnlockBits方法允许对位图内存进行高效操作。
    • Graphics类是绘图核心,允许创建和操作绘图上下文。

    通过合理利用这些类和方法,开发者可以高效地进行图像处理和绘图操作。

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

    你可能感兴趣的文章
    Pympress:强大的双屏PDF阅读器
    查看>>
    pymysql.err.InternalError: (1054, "Unknown column '27D24A3B' in 'where clause'")之错误解决
    查看>>
    pymysql.err.OperationalError: (1364, “Field ‘id‘ doesn‘t have a default value“)
    查看>>
    PyMySQL库对Mysql数据库进行增删改查与工具类封装
    查看>>
    pynput的基本介绍和使用
    查看>>
    pyodbc 通过 IIS7 连接到 MSSQL 2005 服务器
    查看>>
    PyPI 存储库中的 JarkaStealer:深入解析与防范措施
    查看>>
    Pyplot tutorial,Pyplot官方教程自翻译
    查看>>
    PyQ5学习笔记——使用内部槽函数关闭窗口
    查看>>
    PyQ5学习笔记——使用自定义槽函数关闭窗口
    查看>>
    PyQt MimeData 文件名
    查看>>
    PyQt QML Material Design 按钮背景不会改变
    查看>>
    PyQt QString转成python stirng
    查看>>
    PyQt QToolButton在焦点时不更新图标
    查看>>
    PyQt 正确使用 emit() 和 pyqtSignal()
    查看>>
    PyQT-将文件复制到剪贴板
    查看>>
    PYQT.如何在QTableView中插入小部件
    查看>>
    PyQt4 代码在 PyQt5 (QHeaderView) 上不起作用
    查看>>
    PyQt4 到 PyQt5 ->mainFrame() 已弃用,需要修复才能加载网页
    查看>>
    PyQt4, class:mouseButtons用法
    查看>>