使用.Net C#压缩字节阵列图像而不进行缩放

本文关键字:缩放 图像 阵列 Net 压缩 字节 使用 | 更新日期: 2023-09-27 17:59:10

我正在为服务构建一个AngularJS应用程序,我使用.NET C#进行编码。我从SQL Server中检索图像作为Byte Array,并将Byte Array发送到AngularJS,它会在HTML中显示图像。

我遵循了与从C#字节数组加载图像后相同的方法,并使用AngularJS 将图像放置在html标签中

但我的数据中存在性能问题。我的数据库包含字节数组,大小约为2到3 MB。所以,基于互联网带宽,它很难加载那么,请帮助我如何在不缩放图像的情况下压缩字节数组

我在网上搜索了很多,但他们在缩放图像方面压缩了每一篇帖子。但我需要在不缩放的情况下压缩字节数组。

使用.Net C#压缩字节阵列图像而不进行缩放

如果您使用一些标准图像格式,如jpegpng,则您的图像已经被压缩,除非您将其缩小,否则您无法进一步缩小它们的大小。

话虽如此,在您链接到的文章中,图像似乎是作为Base64字符串从服务器通过网络发送的,这会导致巨大的开销,因为它会使图像的大小变大。图像越大,如果使用Base64,开销就越大。因此,如果你遵循了本文中的建议,你就不应该这样做。相反,您应该在响应体中将来自服务器的图像作为原始字节进行流式传输,并且不使用任何Base64编码。然后只需使用标准的<img>标记,其src属性直接指向您的服务器url。因此,基本上,在Angular应用程序中,您的模型不应该由作为AJAX请求下载的多个base64字符串组成,而是由一组url组成,这些url将被分配给相应的图像标记src属性。