1
我在磁盤上有一個不太正常的JPEG文件 - 這個JPEG文件在圖像尾端(FFD9)後面附加了額外的垃圾數據。雖然這個JPEG文件仍然可以由JPEG查看器打開。在C++中無損處理JPEG
我希望刪除圖像結尾(FFD9)後面的附加信息。約束條件是:
- 必須通過程序來完成
- 必須是無損
- 必須使用本地代碼,例如C++
我發現的一種方法是使用IrfanView命令行工具重新保存文件,使用無損JPG_TRANSFORM的命令:/ jpg_rotate。後面的附加數據會自動刪除。
但是,還有另一種方法可以在C++代碼中完成它,如果可能的話,我不希望使用像IrfanView這樣的exes來完成它。我希望盡一切努力來保持精益。
我在考慮檢測文件結束(FFD9),然後將EOF前的緩衝區保存到另一個JPEG中。但是,我怎樣才能無損地保存緩衝區?
如果您只是簡單地複製比特位幷包括EOF標記,那麼對此有什麼損失? – 2011-06-02 03:47:25