Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:如何将位图字节数组转换为JPEG格式?_C#_.net_Jpeg_Bmp - Fatal编程技术网

C#:如何将位图字节数组转换为JPEG格式?

C#:如何将位图字节数组转换为JPEG格式?,c#,.net,jpeg,bmp,C#,.net,Jpeg,Bmp,如何使用.net 2.0将字节数组格式的位图转换为JPEG格式?您指的是什么类型的字节[]?原始文件流数据?在这种情况下,类似(在客户端应用程序中使用System.Drawing.dll)的方法如何: 或者使用FromStream和新内存流(arr)如果您确实有字节[]: byte[] raw = ...todo // File.ReadAllBytes("foo.bmp"); using(Image img = Image.FromStream(new MemoryStream

如何使用.net 2.0将字节数组格式的位图转换为JPEG格式?

您指的是什么类型的
字节[]
?原始文件流数据?在这种情况下,类似(在客户端应用程序中使用
System.Drawing.dll
)的方法如何:

或者使用
FromStream
新内存流(arr)
如果您确实有
字节[]

    byte[] raw = ...todo // File.ReadAllBytes("foo.bmp");
    using(Image img = Image.FromStream(new MemoryStream(raw)))
    {
        img.Save("foo.jpg", ImageFormat.Jpeg);
    }

如果它只是原始像素数据的缓冲区,而不是完整的图像文件(包括标题等,如JPEG),则不能使用image.FromStream


我认为您可能正在查找System.Drawing.Bitmap.LockBits,返回System.Drawing.Imaging.ImageData;这提供了使用指向内存的指针读取和写入图像像素的权限。

第二个正是我要搜索的。然而,我正在写另一个MemoryStream而不是文件。谢谢这是一个位图。他想要一个jpeg。正确,代码不完整。但它会返回一个位图,稍后您可以将其以任何格式保存到文件中。。。。我想这是我对声誉战争的欢迎。。。反正是我的错。@juanjo.arana但你没有回答他的问题,只是告诉他如何获得位图。
public static Bitmap BytesToBitmap(byte[] byteArray)
{
  using (MemoryStream ms = new MemoryStream(byteArray))
  {
    Bitmap img = (Bitmap)Image.FromStream(ms);
    return img;
  }
}
public static Bitmap BytesToBitmap(byte[] byteArray)
{
  using (MemoryStream ms = new MemoryStream(byteArray))
  {
    Bitmap img = (Bitmap)Image.FromStream(ms);
    return img;
  }
}