在 C# 中将多个 jpeg 文件压缩在一起

发布于 2024-12-03 14:30:52 字数 264 浏览 1 评论 0原文

我尝试使用 C# 将 jpeg 文件(例如 16 个文件)压缩在一起。我确实成功创建了一个 tar 文件,最后创建了一个 tar.gz (使用 C# GZipStream 类)。但我的解决方案的问题是 gzip 过程增加了 tar 文件大小的 37%(因此压缩率为 137%)。我尝试使用 winrar 手动将文件压缩在一起,它使我的大小减少了 10%(压缩率为 90%)。

我相信我的问题出在 GZipStream 上。我想我应该选择另一种压缩(或压缩器?!),你有什么压缩的想法/建议可以使用。

I was trying compress jpeg files (say 16 files) together using C#. I did successfully created a tar file and finally a tar.gz (using C# GZipStream class). But the problem with my solution is that the gzip pass increased for 37% the size of the tar file (so a compression ratio of 137%). I tried to manually compress the files together using winrar and it gave me a reduction of 10% in the size (compress ratio of 90%).

I believe that my problem is with GZipStream. I think I should go for another kind of compression (or compressor?!), do you have any idea/suggestion of compression to use.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怎言笑 2024-12-10 14:30:52

该框架的压缩例程并不总是很有效。

我建议尝试 DotNetZip 来压缩它。我的经验是,那里的压缩(甚至Gzip)更接近其他软件,并且比框架类小得多。这也很好,因为如果您想使用框架的 GzipStream 实现,它几乎不需要对框架的 GzipStream 类进行任何代码更改。

The framework's compression routines don't always go a great job.

I would recommend trying DotNetZip to compress this. My experience is that the compression (even Gzip) there is much closer to other software, and far smaller than the framework classes. This is also nice in that it requires nearly no code changes from the framework's GzipStream class if you want to use their GzipStream implementation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文