码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C#:Bitmap类使用方法—第1讲


    首先看一下Bitmap定义:封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。 Bitmap 是用于处理由像素数据定义的图像的对象。

    下面介绍一下使用的例子:

    Bitmap image1;

    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         {
                for(y=0; y             {
                    Color pixelColor = image1.GetPixel(x, y);
                    Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
                    image1.SetPixel(x, y, newColor);
                }
            }

            // Set the PictureBox to display the image.
            PictureBox1.Image = image1;

            // Display the pixel format in Label1.
            Label1.Text = "Pixel format: "+image1.PixelFormat.ToString();
        }
        catch(ArgumentException)
        {
            MessageBox.Show("There was an error." +
                "Check the path to the image file.");
        }
    }

    注释:

    位图由图形图像的像素数据及其属性组成。 有许多标准格式可用于将位图保存到文件中。 GDI+ 支持以下文件格式:BMP、GIF、EXIF、JPG、PNG 和 TIFF。 有关支持的格式的详细信息,请参阅 位图的类型。

    可以使用其中一个 Bitmap 构造函数从文件、流和其他源创建图像,并使用 方法将它们保存到流或文件系统 Save 。 使用 DrawImage 对象的 方法 Graphics 将图像绘制到屏幕或内存中。 有关使用图像文件的主题列表,请参阅 使用图像、位图、图标和图元文件。

    构造函数:

    Bitmap(Image)

    从指定的现有图像初始化 Bitmap 类的新实例。

    Bitmap(Image, Int32, Int32)

    从指定的现有图像(缩放到指定大小)初始化 Bitmap 类的新实例。

    Bitmap(Image, Size)

    从指定的现有图像(缩放到指定大小)初始化 Bitmap 类的新实例。

    Bitmap(Int32, Int32)

    用指定的大小初始化 Bitmap 类的新实例。

    Bitmap(Int32, Int32, Graphics)

    用指定的大小和指定的 Graphics 对象的分辨率初始化 Bitmap 类的新实例。

    Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

    用指定的大小、像素格式和像素数据初始化 Bitmap 类的新实例。

    Bitmap(Int32, Int32, PixelFormat)

    用指定的大小和格式初始化 Bitmap 类的新实例。

    Bitmap(Stream)

    从指定的数据流初始化 Bitmap 类的新实例。

    Bitmap(Stream, Boolean)

    从指定的数据流初始化 Bitmap 类的新实例。

    Bitmap(String)

    从指定的文件初始化 Bitmap 类的新实例。

    Bitmap(String, Boolean)

    从指定的文件初始化 Bitmap 类的新实例。

    Bitmap(Type, String)

    从指定的资源初始化 Bitmap 类的新实例。

    属性:

    Flags

    获取该 Image 的像素数据的特性标志。

    (继承自 Image)
    FrameDimensionsList

    获取 GUID 的数组,这些 GUID 表示此 Image 中帧的维数。

    (继承自 Image)
    Height

    获取此 Image 的高度(以像素为单位)。

    (继承自 Image)
    HorizontalResolution

    获取此 Image 的水平分辨率(以“像素/英寸”为单位)。

    (继承自 Image)
    Palette

    获取或设置用于此 Image 的调色板。

    (继承自 Image)
    PhysicalDimension

    获取此图像的宽度和高度。

    (继承自 Image)
    PixelFormat

    获取此 Image 的像素格式。

    (继承自 Image)
    PropertyIdList

    获取存储于该 Image 中的属性项的 ID。

    (继承自 Image)
    PropertyItems

    获取存储于该 Image 中的所有属性项(元数据片)。

    (继承自 Image)
    RawFormat

    获取此 Image 的文件格式。

    (继承自 Image)
    Size

    获取此图像的宽度和高度(以像素为单位)。

    (继承自 Image)
    Tag

    获取或设置提供有关图像的附加数据的对象。

    (继承自 Image)
    VerticalResolution

    获取此 Image 的垂直分辨率(以“像素/英寸”为单位)。

    (继承自 Image)
    Width

    获取此 Image 的宽度(以像素为单位)。

    (继承自 Image)

    方法:

    Clone()

    创建此 Image 的一个精确副本。

    (继承自 Image)
    Clone(Rectangle, PixelFormat)

    创建此 Bitmap(它由 Rectangle 结构并使用指定的 PixelFormat 枚举定义)部分的副本。

    Clone(RectangleF, PixelFormat)

    创建此 Bitmap(用指定的 PixelFormat 枚举定义)部分的副本。

    CreateObjRef(Type)

    创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

    (继承自 MarshalByRefObject)
    Dispose()

    释放此 Image 使用的所有资源。

    (继承自 Image)
    Dispose(Boolean)

    释放由 Image 占用的非托管资源,还可以另外再释放托管资源。

    (继承自 Image)
    Equals(Object)

    确定指定对象是否等于当前对象。

    (继承自 Object)
    FromHicon(IntPtr)

    从图标的 Windows 图柄创建 Bitmap。

    FromResource(IntPtr, String)

    从指定的 Windows 资源创建 Bitmap。

    GetBounds(GraphicsUnit)

    以指定的单位获取图像的界限。

    (继承自 Image)
    GetEncoderParameterList(Guid)

    返回有关指定的图像编码器所支持的参数的信息。

    (继承自 Image)
    GetFrameCount(FrameDimension)

    返回指定维度的帧数。

    (继承自 Image)
    GetHashCode()

    作为默认哈希函数。

    (继承自 Object)
    GetHbitmap()

    从此 Bitmap创建 GDI 位图对象。

    GetHbitmap(Color)

    从此 Bitmap创建 GDI 位图对象。

    GetHicon()

    返回图标的图柄。

    GetLifetimeService()

    检索控制此实例的生存期策略的当前生存期服务对象。

    (继承自 MarshalByRefObject)
    GetPixel(Int32, Int32)

    获取此 Bitmap 中指定像素的颜色。

    GetPropertyItem(Int32)

    从该 Image 获取指定的属性项。

    (继承自 Image)
    GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr)

    返回此 Image 的缩略图。

    (继承自 Image)
    GetType()

    获取当前实例的 Type。

    (继承自 Object)
    InitializeLifetimeService()

    获取生存期服务对象来控制此实例的生存期策略。

    (继承自 MarshalByRefObject)
    LockBits(Rectangle, ImageLockMode, PixelFormat)

    将 Bitmap 锁定到系统内存中。

    LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData)

    将 Bitmap 锁定到系统内存中。

    MakeTransparent()

    让 Bitmap 的默认透明颜色为透明。

    MakeTransparent(Color)

    使指定的颜色对此 Bitmap 透明。

    MemberwiseClone()

    创建当前 Object 的浅表副本。

    (继承自 Object)
    MemberwiseClone(Boolean)

    创建当前 MarshalByRefObject 对象的浅表副本。

    (继承自 MarshalByRefObject)
    RemovePropertyItem(Int32)

    从该 Image 移除指定的属性项。

    (继承自 Image)
    RotateFlip(RotateFlipType)

    旋转、翻转或者同时旋转和翻转 Image。

    (继承自 Image)
    Save(Stream, ImageCodecInfo, EncoderParameters)

    使用指定的编码器和图像编码器参数,将该图像保存到指定的流。

    (继承自 Image)
    Save(Stream, ImageFormat)

    将此图像以指定的格式保存到指定的流中。

    (继承自 Image)
    Save(String)

    将该 Image 保存到指定的文件或流。

    (继承自 Image)
    Save(String, ImageCodecInfo, EncoderParameters)

    使用指定的编码器和图像编码器参数,将该 Image 保存到指定的文件。

    (继承自 Image)
    Save(String, ImageFormat)

    将此 Image 以指定格式保存到指定文件。

    (继承自 Image)
    SaveAdd(EncoderParameters)

    将帧添加到上次对 Save 方法调用时所指定的文件或流中。 使用此方法将多帧图像中的选定帧保存到另一个多帧图像。

    (继承自 Image)
    SaveAdd(Image, EncoderParameters)

    将帧添加到上次对 Save 方法调用时所指定的文件或流中。

    (继承自 Image)
    SelectActiveFrame(FrameDimension, Int32)

    选择由维度和索引指定的帧。

    (继承自 Image)
    SetPixel(Int32, Int32, Color)

    在此 Bitmap 中设置指定像素的颜色。

    SetPropertyItem(PropertyItem)

    在此 Image 中存储一个属性项(元数据片)。

    (继承自 Image)
    SetResolution(Single, Single)

    设置此 Bitmap 的分辨率。

    ToString()

    返回表示当前对象的字符串。

    (继承自 Object)
    UnlockBits(BitmapData)

    从系统内存解锁此 Bitmap。

    上面就是BItmap的基础知识,下面会按照每个方法的如何使用,进行细致讲解。

  • 相关阅读:
    easyrecover15数据恢复软件官网功能介绍
    Java面试中的常问的多线程问题
    NoSQL技术——Redis
    艺术大观杂志艺术大观杂志社艺术大观编辑部2022年第20期目录
    python运算符重载之构造函数和迭代器
    如何驱动直流电机H桥驱动笔记
    【软件测试】总结
    最长回文子串
    SpringBoot配置数据库密码加密的方法
    优质笔记软件评测(二)Logseq、Obsidian、思源笔记、FlowUs
  • 原文地址:https://blog.csdn.net/m0_53104033/article/details/141095068
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号