我有一个JPEG文件在磁盘上,这是不完全正常的-这个JPEG文件有附加的垃圾数据后面的图像(FFD9)。不过,JPEG查看器仍然可以打开此JPEG文件。
我希望删除这些额外的信息后面的图像(FFD9)。制约因素是:
必须做programatically
我发现的一种方法是使用IrfanView命令行工具重新保存文件,使用无损JPG_TRANSFORM的命令: /jpg_rotate。后面的附加数据会自动删除。
但是,是否有另一种方法可以在C++代码中这样做,如果可能的话,我不希望使用像IrfanView这样的exes来完成它。我希望在代码中做每一件事,以保持简洁。
我正在考虑检测文件的结束(FFD9),然后在EOF之前将缓冲区保存到另一个JPEG中。但是,如何才能无损地保存缓冲区呢?
发布于 2011-06-02 04:40:31
我想这是一个文件处理问题,而不是图像处理相关的问题。
只需将所有数据写入结果图像文件,直到图像文件中的EOF为止。
https://stackoverflow.com/questions/6210124
复制相似问题