Загрузка анимированных GIF-файлов из файла ресурсов в wxWidgets - PullRequest
3 голосов
/ 28 марта 2011

Я пытаюсь встроить анимированное GIF-изображение в программу wxWidgets C ++. Я могу загрузить изображение из файла и отобразить его так:

wxAnimationCtrl *an = new wxAnimationCtrl(this, wxID_ANY, wxAnimation(wxT("image.gif"), wxANIMATION_TYPE_ANY), wxPoint(150,0));
an->Play();

Но я бы предпочел, чтобы GIF-изображение было в моем файле resource.rc, чтобы оно компилировалось в исполняемый файл. Как бы я это сделал?

Ответы [ 2 ]

4 голосов
/ 29 марта 2011

Вы можете попробовать использовать функцию wxMSWResources или wxLoadUserResource , загрузить ресурс GIF в память, затем получить wxMemoryInputStream и затем использовать wxAnimation :: Load() и передать этот входной поток этой функции

0 голосов
/ 26 сентября 2018
m_ani = new wxAnimationCtrl();
const void* data = NULL;
size_t outLen = 0;

// load the icon directory resource
if ( !wxLoadUserResource(&data, &outLen, "ID_WAIT", RT_RCDATA) )
{
    wxLogError(_("Failed to load icons from resource"));
}
else
{
    wxMemoryInputStream stream(data, outLen);
    if (m_ani->Load(stream))  m_ani->Play();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...