c#-将字节数组转换为PNG / JPG

我目前正在开发一个需要将未填充的字节数组高性能转换为PNG或JPEG的应用程序。 图像格式并不重要,只要它很快即可。

我已经尝试过.NET库,但性能非常差。 谁能为此推荐一个好的免费软件库?

编辑:byte []是一个8位的灰度位图

user472875 asked 2020-02-21T21:35:52Z
3个解决方案
76 votes

您应该能够执行以下操作:

byte[] bitmap = GetYourImage();

using(Image image = Image.FromStream(new MemoryStream(bitmap)))
{
    image.Save("output.jpg", ImageFormat.Jpeg);  // Or Png
}

在这里查看更多信息。

希望这会有所帮助。

Garrett Vlieger answered 2020-02-21T21:36:14Z
1 votes

这个问题有两个问题:

假设您具有灰度位图,则需要考虑两个因素:

  1. 对于JPGS ...可以容忍哪些质量损失?
  2. 对于png ...压缩级别是可以容忍的? (尽管就我所见的大多数事情而言,您没有太多选择,所以这个选择可以忽略不计。)对于任何认为此问题没有道理的人:是的,您可以更改压缩量/ 尝试压缩的通过次数; 查看Ifranview或其中的一些插件。

回答这些问题,然后您也许可以找到您的原始答案。

JayC answered 2020-02-21T21:36:52Z
0 votes

我喜欢Imagemagick。[http://www.imagemagick.org/script/api.php]

ahoffer answered 2020-02-21T21:37:12Z
translate from https://stackoverflow.com:/questions/8946846/converting-a-byte-array-to-png-jpg