2010-06-30 117 views
0

我們要求用戶可以將任何標準圖像加載到對話框中,顯示圖像,並將圖像作爲特定格式(JPG)保存到數據庫中。看來CImage是要使用的類,因爲它可以加載並保存BMP/GIF/JPG/PNG。但有沒有簡單的方法可以將JPG保存爲數據庫中的BLOB,而無需調用CImage :: Save,然後將文件加載到內存 - 我們不想暫時保存文件。MFC:從CImage保存到選定文件類型的數據庫

任何想法?

+0

這正是我討厭'MFC'的原因,沒有明顯的辦法去做明顯的事情。 – ereOn 2010-06-30 13:51:25

回答

2

CImage::Save有兩個重載。您可以使用

HRESULT Save(
    IStream* pStream, 
    REFGUID guidFileType 
) const throw(); 

將圖像保存到IStream。您可以編寫自己的簡單IStream實現或嘗試使用CreateStreamOnHGlobal函數,該函數會在HGLOBAL上創建一個IStream對象。