Вопрос

Я пытаюсь записать zip-файл, используя wxZipOutputStream.Код взят с этого форума и работает с XML-файлом (когда я использовал wxTextOutputStream).Теперь я пытаюсь включить файл изображения, но функция SaveFile в классе wxImage ожидает класс wxOutputStream, но у wxTextOutputStream / wxDataOutputStream нет базового класса, поэтому я не могу его скомпилировать.Я просто хочу записать wxImage и XML-файл в zip-файл.как мне это сделать?

//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. 
} 
Это было полезно?

Решение

выглядит так, как будто вы должны указать тип изображения в архив попробуйте:

value->SaveFile(zip, wxBITMAP_TYPE_PNG)

(расширение файла в ключе , конечно, должно быть .png)

Другие советы

Работает ли литье типов:

значение-> Сохранить файл((wxOutputStream&)zip);

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top