wxImage para arquivo Zip via stream. Possível?
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.
}
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