0
我目前正試圖找出如何正確地存儲在一個CArchive(JPEG)的CImage文件。我目前的做法,這是下面的(僞)代碼:序列化:CArchive一個CImage
BOOL CPicture::Serialize(CArchive &ar)
{
IStream *pStream = NULL;
HRESULT hr;
CImage *img = GetImage();
if (ar.IsLoading())
{
HGLOBAL hMem = GlobalAlloc(GMEM_FIXED, 54262);
hr = CreateStreamOnHGlobal(hMem, FALSE, &pStream);
if(SUCCEEDED(hr))
{
ar.Read(pStream, 54262);
img->Load(pStream);
pStream->Release();
GlobalUnlock(hMem);
GlobalFree(hMem);
}
}
else
{
hr = CreateStreamOnHGlobal(0, TRUE, &pStream);
if (SUCCEEDED(hr))
{
hr = img->Save(pStream, Gdiplus::ImageFormatJPEG);
if (SUCCEEDED(hr))
ar.Write(pStream, 54262);
}
}
...
我剛纔又回到成C++,並僅在過去做了一些吧。任何幫助將非常感激。
非常感謝您提前。
在問答網站上提問通常是個好主意。你沒有提出問題。你一直都不清楚你想要解決什麼問題。你的代碼是否工作?你的代碼是否失敗(如果是這樣,如何)?你只需要對你的代碼進行反饋?您是否在尋找一名開發人員爲您編寫代碼?還有別的嗎? – IInspectable