Domanda

Sto provando a scrivere un file zip usando wxZipOutputStream. Il codice proviene da questo forum e funziona con il file xml (quando ho usato wxTextOutputStream). Ora sto provando a includere un file di immagine ma la funzione SaveFile nella classe wxImage prevede una classe wxOutputStream ma wxTextOutputStream / wxDataOutputStream non ha una classe base, quindi non posso compilarlo. Voglio solo scrivere un file wxImage e un file xml su una zip. come posso procedere?

//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. 
} 
È stato utile?

Soluzione

sembra come se dovessi specificare il tipo di immagine nella archivio, prova:

value->SaveFile(zip, wxBITMAP_TYPE_PNG)

(L'estensione del file nella chiave dovrebbe ovviamente essere .png)

Altri suggerimenti

Il tipo di casting funziona:

a valore > SaveFile ((wxOutputStream & amp;) zip);

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top