1

携帯電話からキャプチャした画像の生データがあります。解像度は 480*800、フォーマットは RGBA です。次に、wxImage 関数を使用して jpeg 画像に保存します。タラは以下のとおりです。

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 を開くと真っ黒です。間違っていますか?

4

1 に答える 1

1

ここにバグがあります:

m_bufferfile->Read(rawdata, 3);

rawdataバッファの先頭だけを読み込んだことがあります。

于 2012-07-24T02:28:05.810 に答える