gpt4 book ai didi

c#:分部分保存 JPG

转载 作者:太空狗 更新时间:2023-10-29 21:59:09 25 4
gpt4 key购买 nike

我目前正在开发一个 C# 开源照片马赛克软件 (Sourceforge Link)。该软件将大量小照片(图 block )拼接成一张大图像。

由于最终图像大小通常为 20k px 乘以 15k px,我只保存一张如何在内存中排列图 block 的 map 。为了构建最终图像,我将它分成几部分构建,即以 8 行为一组(也可以是任何其他数字)。

在 bmp 的情况下,通过首先写入 bmp header 然后将 ARGB 数据附加到此文件,可以轻松地逐 block 保存此数据。

但是生成的 bmp 太大而无法进一步处理(例如,将它们交给一些海报打印公司)。因此,我想将这些大图像以 jpg 格式保存在我的硬盘上。

现在的问题是,由于 jpg 是压缩的,因此以 block 的形式写入数据似乎非常棘手(普通的 Bitmap.Save() 函数会先将完整图像加载到内存中,因此不适用),因为纯写入,未压缩的 RGB 数据不会这样做。

在 party 中编写 jpg 的基本功能应该存在,因为据我所知,jpg 的压缩算法适用于 block 或 8x8 像素。

我查看了几个图像库(FreeImage、GraphicsMagick、LibTiff.NET)来寻找解决这个问题的方法,但没有找到。 LibTiff 基本上具有所需的功能,但仅限于 tiff 图像格式。

非常感谢您的帮助!最大

最佳答案

因为你没有提到 OpenJPEG 库,我想你可能已经错过了。

http://www.openjpeg.org/

当然,您需要围绕它进行一些包装,但我认为您可以使用该库实现您想做的事情。但这不是最简单的解决方案,我知道。如果其他人提出更好、更简单的建议,您可以跳过此库。

编辑:这看起来很不完整,但可能会有帮助,因为它是 C# 代码。 http://www.codeproject.com/KB/graphics/SimpleJpeg.aspx

关于c#:分部分保存 JPG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8267178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com