C++ C++;
我有一个JPEG文件在磁盘上,这是不太正常的-这个JPEG文件有额外的垃圾数据附加在后面的图像结束(FFD9)。不过,JPEG查看器仍然可以打开此JPEG文件 我希望删除图像末尾(FFD9)后面的附加信息。制约因素包括:C++ C++;,c++,image,image-manipulation,jpeg,file-manipulation,C++,Image,Image Manipulation,Jpeg,File Manipulation,我有一个JPEG文件在磁盘上,这是不太正常的-这个JPEG文件有额外的垃圾数据附加在后面的图像结束(FFD9)。不过,JPEG查看器仍然可以打开此JPEG文件 我希望删除图像末尾(FFD9)后面的附加信息。制约因素包括: 必须按程序进行 必须是无损的 必须使用本机代码,例如C++ 我发现的一种方法是使用IrfanView命令行工具,使用无损JPG_TRANSFORM的命令:/JPG_rotate重新保存文件。后面的附加数据将自动剥离 但是,是否还有另外一种方法可以在C++代码中实现,如果可能的话
我正在考虑检测文件的结尾(FFD9),然后在EOF之前将缓冲区保存到另一个JPEG中。但是,如何无损地保存缓冲区?我想这是一个文件处理问题,与图像处理无关
您只需将图像文件中EOF之前的所有数据写入结果图像文件。如果您只需将位复制到EOF标记,那么这会有什么损失?