質問

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);

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top