C#的Bitmap

C#的Bitmap

Bitmap 是用于处理由像素数据定义的图像的对象。


一 继承层次结构

System.Object 
   System.MarshalByRefObject
     System.Drawing.Image
       System.Drawing.Bitmap

二 介绍

Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.
因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:

1. GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色.

2. PixelFormat属性:返回图像的像素格式.

3. Palette属性:获取和设置图像所使用的颜色调色板.

4. Height Width属性:返回图像的高度和宽度.

5. LockBits方法和UnlockBits方法:分别锁定和解锁系统内存中的位图像素.在基于像素点的图像处理方法中使用LockBits和UnlockBits是一个很好的方式,这两种方法可以使我们指定像素的范围来控制位图的任意一部分,从而消除了通过循环对位图的像素逐个进行处理,每调用LockBits之后都应该调用一次UnlockBits.

常用API

打开

Bitmap bp =  new Bitmap(filepath);

显示

保存

showBitmap.Save(saveFileDialog.FileName,format );
Save.(string ,ImageCodeInfo,EncoderParameters) 

使用方法:
参数:

filename 类型:System.String 字符串,包含要将此 Image 保存到的文件的名称。

encoder 类型:System.Drawing.Imaging.ImageCodecInfo 此 Image 的 ImageCodecInfo。

encoderParams 类型:System.Drawing.Imaging.EncoderParameters 用于该 Image 的 EncoderParameters。


ImageCodecInfo myImageCodecInfo;
//获得JPEG格式的编码器
myImageCodecInfo = GetEncoderInfo("image/jpeg");

常用方法

Bitmap转Byte

public static byte[] Bitmap2Byte(Bitmap bitmap)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                bitmap.Save(stream , ImageFormat.Jpeg);
                byte[] data = new byte[stream.Length];
                stream.Seek(0 , SeekOrigin.Begin);
                stream.Read(data ,0  , Convert.ToInt32(stream.Length));
                return data;
            }
        }

注意:

在c#中默认可以讲bitmap保存为gif等格式,但是这种保存方法保存的gif会严重失真


参考文献

  1. https://blog.csdn.net/qq_20161893/article/details/78478125
  2. https://blog.csdn.net/yingzhaom/article/details/7743429
  3. https://www.cnblogs.com/rainbow70626/p/5774841.html
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值