2012-07-24 27 views
1

我有從我的手機拍攝的圖像的原始數據,它的分辨率是480 * 800,格式是RGBA。然後我想用wxImage函數將它保存到一個jpeg圖像中。鱈魚列表如下:如何用wxImage保存圖像?

wxFile m_bufferfile = wxFile(wxT("out.raw")); 
if(!m_bufferfile->IsOpened()) 
{ 
    wxLogMessage(_T("Fail to open the config file.")); 
} 
m_count = m_bufferfile->Length(); 
unsigned char* rawdata = new unsigned char[m_count]; 
for(unsigned int i = 0; i < m_count; i=i+4) 
{ 
    m_bufferfile->Seek(1,wxFromCurrent); 
m_bufferfile->Read(rawdata, 3); 
} 
wxImage *image = new wxImage(480, 800, rawdata, false); 
image->SaveFile(wxT("raw.jpg"),wxBITMAP_TYPE_JPEG); 

當我打開raw.jpg,它變成黑色。 有問題嗎?

回答

1

您在這裏有一個BUG:

m_bufferfile->Read(rawdata, 3);

你只讀過到您rawdata緩衝區的開始。