我正在尝试将动画GIF图像嵌入到wxWidgets C ++程序中。我可以从文件加载图像并显示它:
wxAnimationCtrl *an = new wxAnimationCtrl(this, wxID_ANY, wxAnimation(wxT("image.gif"), wxANIMATION_TYPE_ANY), wxPoint(150,0));
an->Play();
但我宁愿在我的resource.rc文件中使用GIF图像,以便将其编译成可执行文件。我该怎么做?
答案 0 :(得分:4)
您可以尝试使用wxMSWResources或wxLoadUserResource函数,将GIF资源加载到内存,然后获取wxMemoryInputStream,然后使用wxAnimation::Load()并将该输入流传递给该函数
答案 1 :(得分:0)
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();
}