Pergunta

Eu estou tentando escrever um arquivo zip usando o wxZipOutputStream. O código é a partir deste fórum e trabalha com o arquivo xml (quando eu usei wxTextOutputStream). Agora, eu estou tentando incluir um arquivo de imagem, mas a função SaveFile na classe wxImage espera uma classe wxOutputStream mas wxTextOutputStream / wxDataOutputStream não têm classe base, então não posso compilá-lo. Eu só quero escrever um wxImage e um arquivo XML para um zip. Como proceder?

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

Solução

olhares como você tem que especificar o tipo de imagem na arquivo, tente:

value->SaveFile(zip, wxBITMAP_TYPE_PNG)

(A extensão do arquivo em key deve ser, obviamente, .png)

Outras dicas

O Works tipo de moldagem:

valor-> SaveFile ((wxOutputStream &) zip);

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top