Pregunta

Estoy intentando escribir un archivo zip con wxZipOutputStream. El código es de este foro y funciona con el archivo xml (cuando usé wxTextOutputStream). Ahora, estoy tratando de incluir un archivo de imagen, pero la función SaveFile en la clase wxImage espera que una clase wxOutputStream pero wxTextOutputStream / wxDataOutputStream no tenga una clase base, así que no puedo compilarlo. Solo quiero escribir un archivo wxImage y xml en un archivo zip. ¿Cómo lo hago?

//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. 
} 
¿Fue útil?

Solución

Se parece como si tuviera que especificar el tipo de imagen en el archivo, intente:

value->SaveFile(zip, wxBITMAP_TYPE_PNG)

(La extensión de archivo en clave debería ser .png)

Otros consejos

¿Funciona el casting de tipos?

value- > SaveFile ((wxOutputStream & amp;) zip);

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top