C#图形处理三种方式

2023-05-10 13:41 1587 浏览

本代码通过彩色图象灰度化来介绍C#处理数字图像的3种方法,Bitmap类、BitmapData类和Graphics类是C#处理图像的的3个重要的类。

Bitmap主要要用于处理由像素数据定义的图像的对象,主要方法和属性如下:

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

    PixelFormat属性,返回图像的像素格式。

    Palette属性,获取或折纸图像所使用的颜色调色板。

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

    LockBits方法和UnlockBits方法,分别锁定和解锁系统内存中的位图像素。 


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

         Height属性,被锁定位图的高度。

         Width属性,被锁定位图的宽度。

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

         Scan0属性,被锁定数组的首字节地址。

         Stride属性,步幅,也称扫描宽度。

 

图像处理的3种方法分别是:像素法、内存法和指针法

 

像素法 

使用的是GDI+中的Bitmap.GetPixel和Bitmap.SetPixel方法。

 

内存法 

内存法是把图像数据直接复制到内存中,这样程序的运行速度就能大大提高了。 


指针法 

这个方法和内存法相似,开始都是通过LockBits方法来获取位图的首地址,这个方法更简洁,直接用指针进行位图操作。所以对内存的操作需要在unsafe下进行操作。 


3种方法的比较 

提取像素法比较简单,但是效率比较低;内存法效率有了很大的提高,但是代码比较复杂;指针法效率比内存法更高一些,但是属于不安全代码。


本代码在 vs2019 下编译通过

解压缩密码:zhtmax(已添加10%恢复记录,如果解压错误可以用 WinRar 尝试恢复)

下载地址

图形处理三种方法.rar

c#
分享:
上一篇 下一篇
暂无资料
相关内容0
  • C# SQL数据表提取器
    提取sql数据库表结构的程序,功能还算完善,需要的可以参考学习一下。 下载地址 sql数据表提取器.rar
相关推荐
程序设计
热门内容
  • c#获取鼠标的位置和对应的句柄
    [DllImport("user32.dll")]static extern IntPtr WindowFromPoint(Point Point); [DllImport("user32.dll")]static extern bool GetCursorPos(out Point lpPoint);[DllImport("user32.dll")]static extern int SetCursorPos(int x, int y); Point p; if (GetCursorPos(out p)) { text=p.X + "." + p.Y; //返回鼠标位置坐标 } Text = WindowFromPoint(p).ToString (); //返回坐标处的句柄 SetCursorPos(0,0); //设置鼠标坐标
  • [源码]PLC 推箱子 游戏
    介绍 本人是工控菜鸟,初学PLC编程。 最近一直在学习 小羽老师 的教学课程。 本程序是用WinCC7.5SP2 配合博图15.1 开发。WinCC只负责游戏画面的显示部分,其他功能逻辑的处理则全部由PLC来完成。(PLC设备是仿真的西门子1200系列的1214C) 本程序只是为了熟悉梯形图程序设计,只是为了编程而写的PLC程序,大佬们不要喷我! 截图 下载地址 PLC推箱子_源码.rar 相关软件
  • c#判断字符串是不是全部为数字
    public static bool IsNum(string input) //判断字符串是不是全部为数字 { string pattern = @"^[0-9]+$"; Regex regex = new Regex(pattern); return regex.IsMatch(input); }
  • 卡通手绘芦荟绿色芦荟汁液美容院海报PNG免扣素材
    卡通手绘芦荟绿色芦荟汁液美容院海报PNG免扣素材 下载地址 142卡通手绘芦荟绿色芦荟汁液美容院海报PNG免扣素材.rar
  • C#图形处理三种方式
    本代码通过彩色图象灰度化来介绍C#处理数字图像的3种方法,Bitmap类、BitmapData类和Graphics类是C#处理图像的的3个重要的类。 Bitmap主要要用于处理由像素数据定义的图像的对象,主要方法和属性如下:     GetPixel方法和SetPixel方法,获取和设置一个图像的指定像素的颜色。     PixelFormat属性,返回图像的像素格式。     Palette属性,获取
Tags标签
联系方式