2012-07-24 111 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缓冲区的开始。