2011-02-02 55 views
2

我需要將XML數據存儲在只接受jpeg圖像的服務器上。我想將我的XML數據寫入有效的jpeg文件中。畢竟,除了JPEG標題,圖像文件的內容是任意數據的權利?如何將自定義數據保存爲C#中的有效jpeg圖像

是否有可能產生一個有效的jpeg文件,但其「身體」填充自定義字節?

當然,我還需要能夠解碼自定義jpeg文件並恢復數據。

我不熟悉jpeg文件格式,所以我會很感激一個明確的例子。

回答

2

Uhmmm這是一個奇怪的建築......但無論如何,我認爲這個職位將是有益的: How to Add 'Comments' to a JPEG File Using C# 所以建議是添加數據爲JPEG空白圖像的元數據。

+0

我認爲他的意思是直接用二進制圖像數據編碼XML數據(不適用於OCR處理) – 2011-02-02 15:47:33

+0

我不想添加元數據,因爲它可以被服務器訪問,並且如果服務器顯示它可能會使用戶感到困惑。 – Frederic 2011-02-02 15:50:40

3

也許只是將數據附加到一個小的JPEG可以工作?

  • 創建一個小jpeg。
  • 將您的(模糊/加密的)XML附加到該文件。
  • 上傳到服務器。

FWIW,你可以很容易地看到這個作品使用十六進制編輯器。只需創建一個小jpeg並將xml追加到最後。然後使用任何圖像編輯器打開它。

這是做一個JPEG文件一個完全有效的事情:

Will random data appended to a JPG make it unusable?

0

如果你想添加數據的實際JPEG數據,首先要創建一個的BitmapSource與BitmapSource.Create,把你的數據在緩衝區參數中。比使用JpegBitmapEncoder將它保存爲jpeg文件(例如here)。但是,據我所知,.net jpeg編碼器不是無損的(即使您將其質量設置爲100%),因此您需要一個可以對JPEG無損編碼的第三方庫。

相關問題