wxImage en fichier Zip via un flux. Possible?
Question
J'essaie d'écrire un fichier zip à l'aide de wxZipOutputStream. Le code provient de ce forum et fonctionne avec le fichier XML (lorsque j’utilisais wxTextOutputStream). Maintenant, j'essaie d'inclure un fichier image mais la fonction SaveFile de la classe wxImage attend une classe wxOutputStream mais wxTextOutputStream / wxDataOutputStream ne possède pas de classe de base et ne peut donc pas être compilée. Je veux juste écrire une wxImage et un fichier XML dans un fichier zip. comment puis-je m'y prendre?
//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.
}
La solution
Il est de spécifier le type d'image dans le archivez, essayez:
value->SaveFile(zip, wxBITMAP_TYPE_PNG)
(L’extension de fichier dans la clé
doit bien sûr être .png)
Autres conseils
Le typage fonctionne-t-il:
value- > SaveFile ((wxOutputStream & amp;) zip);