wxImageをストリーム経由でZipファイルに。可能?
質問
wxZipOutputStreamを使用してzipファイルを書き込もうとしています。コードはこのフォーラムからのもので、xmlファイル(wxTextOutputStreamを使用した場合)で動作します。今、画像ファイルを含めようとしていますが、wxImageクラスのSaveFile関数はwxOutputStreamクラスを期待していますが、wxTextOutputStream / wxDataOutputStreamには基本クラスがないため、コンパイルできません。 wxImageとxmlファイルをzipに書きたいだけです。どうすればいいの?
//convert stream to zip file.
wxFFileOutputStream out(m_loaded_filename.GetFullPath());
wxZipOutputStream zip(out);
// wxTextOutputStream txt(zip);
wxDataOutputStream txt(zip);
zip.PutNextEntry("my.xml");
txt << xmltext;
...
...
...
//value is wxImage*
//key is wxString
zip.PutNextEntry(key); //filename
if(value->IsOk())
{
value->SaveFile(zip); //compiler throws error.
}
解決
It 見た目では、画像の種類を指定する必要がありますアーカイブ、試してください:
value->SaveFile(zip, wxBITMAP_TYPE_PNG)
( key
のファイル拡張子は、もちろん.pngでなければなりません)
他のヒント
型キャストは機能します:
value-&gt; SaveFile((wxOutputStream&amp;)zip);
所属していません StackOverflow