Bitmap   =>   byte[] 
Bitmap   b   =   new   Bitmap( "test.bmp "); MemoryStream   ms   =   new   MemoryStream(); b.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp); byte[]   bytes=   ms.GetBuffer();  //byte[]   bytes=   ms.ToArray(); 这两句都可以,至于区别么,下面有解释
ms.Close(); 

byte[]    =>   Bitmap

byte[]   bytelist=bytes; MemoryStream   ms1   =   new   MemoryStream(bytelist); Bitmap   bm   =   (Bitmap)Image.FromStream(ms1); ms1.Close(); 

1、因为如果不用Bmp的方式转换字节的话,在转换到字节的时候将会丢失数据;

2、MemoryStream的GetBuffer并不是得到这个流所存储的内容,而是返回这个流的基础字节数组,可能包括在扩充的时候一些没有使用到的字节。

下面是GetBuffer的部分实现方法,也许看了这个会更明白:
public   byte[]   GetBuffer()   {
         return   this._buffer;
 }
下面是ToArray的实现方法:
public   byte[]   ToArray()   {
         byte[]   bs   =   new   byte[this._length   -   this._origin];
         for   (int   i   =   this._origin,   j   =   0;   i   <   this._length;   i++)
                 bs[j++]   =   this._buffer[i];
         return   bs;
 }

出处:http://blog.csdn.net/tigertianx/article/details/7098490

C# Bitmap类型与Byte[]类型相互转化相关推荐

  1. byte数组转blob类型_Java类型相互转换byte[]类型,blob类型

    在我们的程序开发当中,经常会用到java.sql.Blob.byte[].InputStream之间的相互转换,但在JDK的API当中,又没有直接给我们提供可用的API,下面的程序片段主要就是实现它们 ...

  2. pythonbyte转int_Python int与byte类型相互转化

    根据Python自定义的功能,使用to_bytes函数转化int类型数据为byte型,然后使用from_bytesa将byte类型数据转化为int型. def to_bytes(self, lengt ...

  3. C#到Java byte类型冲突的解决

    最近要改写一个核心加密认证类,从C#改写成Java. 发现在调试时,加密的数据无论如何也对不上. 经过跟踪,发现问题出在C#和Java byte类型的区别上:在C#里 byte类型是无符号的,而Jav ...

  4. 【错误记录】Kotlin 1.5.0 编译报错 ( 1.5.0 中 Float 不能直接转 Byte 类型 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 Kotlin 1.5.01.5.01.5.0 后语法与之前不同 , Float 类型不能直接转为 Byte 类型 , 需要先转为 Int , 然后转 ...

  5. ABAP中接收.NET语言byte[]类型返回值问题

    在公司自开发的一个项目中,使用了.NET编写的视频监控控件.控件提供了CutBytePicture接口函数用于截取视频图片,返回图片字节流..NET函数原型如下: public byte[] CutB ...

  6. .dat文件写入byte类型数组_文件字节流、文件字符流、缓冲字节流、缓冲字符流字节数组流、数据流、转换流、对象流...

    一.实操名称: 描述如下流的基本作用:文件字节流.文件字符流.缓冲字节流.缓冲字符流字节数组流.数据流.转换流.对象流二.描述1.文件字节流:包括:FileInputStream,FileOutput ...

  7. byte java byte_详解java中的byte类型

    Java中整数类型有:byte占8位, short 占16位, int占32位, long占64位 Java也提供了一个byte数据类型,并且是基本类型中的整数类型.java byte是作为最小的数字 ...

  8. JAVA实体类不要使用基本类型,基本类型包含byte、int、short、long、float、double、char、boolean...

    由于JAVA的基本类型会有默认值,例如当某个类中存在private  int age;字段时,创建这个类时,age会有默认值0.当使用age属性时,它总会有值.因此在某些情况下,便无法实现age为nu ...

  9. int类型和byte类型的强制类型转换

    今天在读<Java网络编程>这本书的第二章 流 时,看到书中有一个地方关于int强制转换为byte类型时应注意的地方.这个地方有点细节,不过就应该把这种细节把握住. 情况是这样的,讲到In ...

最新文章

  1. 如何在公司局域网内访问不同网段的主机
  2. python encoding报错_python用requests递归查询页面 报错 ChunkedEncodingError
  3. 修改maven中的jdk版本
  4. 如何将Felgo程序部署到Android中
  5. ECshop 数据库表结构
  6. Windows服务程序的调试
  7. 在您的Maven-Fu包中增加了一些东西
  8. 本能富可敌国,最后却选择拯救世界!Bram的Vim和乌干达儿童
  9. Python笔记-获取拉钩网南京关于python岗位数据
  10. python int函数和二进制、八进制、十进制转换
  11. 南京装修公司排名十大口碑排行榜(教你如何选择)
  12. 基于STM32的PWM电机驱动TB6612、A4950
  13. ossfs挂载到本地磁盘
  14. 柔性橡胶发泡材料(FEF)保温材料英国UKCA 认证 - EN 14304
  15. B站带货,如何快速创作B站爆款带货视频?
  16. 你知道吗?火狐搜集您的数据?
  17. Unity 3D 菜单栏与快捷键
  18. layui表格自定义分页
  19. 散列:排解冲突(1)
  20. python程序设计搜题软件_智慧职教APPPython程序设计答案搜题公众号

热门文章

  1. C++数据结构之链式结构
  2. C语言中时间的基本用法
  3. C++基础-内存管理
  4. java jpanel调用构造函数的时候就开始执行repaint_在Java Swing组件中劫持`repaint()`调用...
  5. find函数matlab_Matlab 数值数据
  6. Cloudera Manager 和CDH6.0.1安装,卸载,各步骤截图(此博文为笔者辛苦劳作最终生成的,使用了3个熬到凌晨2~4点的夜晚,外加一个周末完成,请转载时记录转载之处,谢谢)
  7. 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念
  8. 只安装python_pip 只能安装python库吗
  9. DIY一个基于树莓派和Python的无人机视觉跟踪系统
  10. 深度学习分割json_to_data报错Too many dimensions: 3 > 2