2012-11-16 59 views

回答

8

我建議你做到以下幾點:

  1. 保存到內存流。使用TMemoryStream,並在位圖上調用SaveToStream。
  2. 壓縮流,也許使用zlib單元。這一步是可選的。
  3. 使用base64對流進行編碼。例如,您可以使用Soap.EncdDecd提供的功能。

而在相反的方向,以及你只是扭轉步驟。

+1

+1這正是我正在尋找的!謝謝大衛! – jpfollenius

0

您可以簡單地使用Win32.WriteFile將位圖緩衝區寫入文件。

+0

這將寫入二進制數據...我特意詢問了關於文本文件 – jpfollenius

+0

我seeeee!那麼David的解決方案就是完美的! –

3

文本DFM使用BinToHex()函數來格式化二進制數據。

+0

+1,因爲這實際上回答了問題。 –

+0

人們不知道他們爲什麼使用這種低效的編碼。 –

+0

簡單性和向後兼容性,我想。它不像文本輸出被實際編譯的可執行文件使用,因爲它不是。它僅由IDE和編譯器使用,因此比其他壓縮格式更容易解析簡單的十六進制。存儲空間很便宜。 –