mgu*_*lde 6 c# jpeg image chunked-encoding
我目前正在研究ac#开源照片拼接软件(Sourceforge Link).该软件将大量小照片(瓷砖)拼接成一个大图像.
由于最终图像大小通常为20k px乘以15k px,我只保存了如何在内存中排列图块的地图.为了构建最终图像,我正在构建它的部分,即8行的带(也可以是任何其他数字).
在bmps的情况下,通过首先写入bmp头并随后将ARGB数据附加到该文件,然后可以通过块容易地保存该数据块.
但是由此产生的bmps对于进一步处理来说太大了(例如将它们交给一些海报印刷公司).因此,我想在我的硬盘上将这些大图像保存为jpgs.
现在的问题是,由于jpgs被压缩,以块的形式写入数据似乎非常棘手(正常的Bitmap.Save()函数会将完整的图像首先加载到内存中,因此不适用),因为编写纯净的,未压缩的RGB数据不会这样做.
在聚会中编写jpgs的基本功能应该存在,因为据我所知,jpg的压缩算法适用于块或8x8 px.
我查看了几个图像库(FreeImage,GraphicsMagick,LibTiff.NET)来找到这个问题的解决方案,但找不到任何解决方案.LibTiff基本上具有所需的功能,但仅适用于tiff图像格式.
非常感谢你的帮助!马克斯
既然你没有提到OpenJPEG library,我想你可能已经错过了。
当然,您将需要一些包装器,但我认为您可以使用该库实现您想要做的事情。但我知道这不是最简单的解决方案。如果其他人提出更好、更简单的建议,您可以跳过这个库。
编辑:这看起来非常不完整,但可能会有所帮助,因为它是 C# 代码。http://www.codeproject.com/KB/graphics/SimpleJpeg.aspx