我在磁盘上有一个JPEG文件,它不太正常-这个JPEG文件在图像末尾(FFD9)后面附加了额外的垃圾数据。不过,JPEG查看器仍然可以打开此JPEG文件。
我希望删除图像末尾(FFD9)后面的附加信息。限制条件是:
- 必须按程序进行
- 必须是无损的
- 必须使用本机代码,例如C++
我发现的一种方法是使用IrfanView命令行工具,使用无损JPG_TRANSFORM的命令:/JPG_rotate重新保存文件。后面的附加数据会自动剥离
然而,有没有另一种方法可以让我在C++代码中做到这一点,如果可能的话,我不希望使用像IrfanView这样的ex来做这件事。我希望在代码中做所有事情来保持精简。
我正在考虑检测文件结尾(FFD9),然后在EOF之前将缓冲区保存为另一个JPEG。但是,如何无损地保存缓冲区?
我想这是一个文件处理问题,与图像处理无关。
您所需要做的就是将图像文件中的所有数据写入最终图像文件中,直到EOF。