当前位置:编程学习 > C#/ASP.NET >>

格式为MemoryBmp的Bitmap怎样转化成byte[]?

格式为MemoryBmp的Bitmap怎样转化成byte[]? 数据类型转换 Bitmap --------------------编程问答--------------------
public static byte[] BitmapToBytes(Bitmap Bitmap)
        {
            MemoryStream ms = null;
            try
            {
                ms = new MemoryStream();
                Bitmap.Save(ms, Bitmap.RawFormat);
                byte[] byteImage = new Byte[ms.Length];
                byteImage = ms.ToArray();
                return byteImage;
            }
            catch (ArgumentNullException ex)
            {
                throw ex;
            }
            finally
            {
                ms.Close();
            }
        }
--------------------编程问答-------------------- 请注意,我说的格式为MemoryBmp这种类型的 --------------------编程问答-------------------- 如果是这种类型的话,就会报出一个异常,提示
错误提示:值不能为空
参数名:encoder 

--------------------编程问答-------------------- 翠花,上StackTrace。 --------------------编程问答-------------------- ImageFormat只是一个托,在System.Drawing内部还是通过ImageFormat.FindEncoder方法转到ImageCodecInfo那个重载来执行,下面是ILSpy出来的源代码。


// System.Drawing.Imaging.ImageFormat
internal ImageCodecInfo FindEncoder()
{
ImageCodecInfo[] imageEncoders = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo[] array = imageEncoders;
for (int i = 0; i < array.Length; i++)
{
ImageCodecInfo imageCodecInfo = array[i];
if (imageCodecInfo.FormatID.Equals(this.guid))
{
return imageCodecInfo;
}
}
return null;
}


没有找到编码器,是否说明这个编码器需要另外安装?.net4在安装的时候需要一个Windows Imaging组件,是否和那个有关?期待高手继续解答。 --------------------编程问答-------------------- 看看这个帖子:http://social.msdn.microsoft.com/Forums/en-US/da967cea-7e57-4065-9ce9-f7810341aeff/how-to-convert-image-to-bytearray-and-back
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,