2010-10-13 1 views
2

Я пытаюсь загрузить файл изображения типа .xpm в объект wxBitmap с использованием метода LoadFile. Следующий вызов не удаетсяwxBitmap :: LoadFile не работает в Windows

wxBitmap aBitmap; 
aBitmap.LoadFile(strIconPath,wxBITMAP_TYPE_XPM); 

с ошибкой

No image handler for type wxBITMAP_TYPE_XPM defined. 

В то время как, если я загрузить его, включив в файл XPM и использовать его, как показано ниже, это работает.

#include "Icon.xpm" 

wxBitmap aBitmap; 
aBitmap.CopyFromIcon(wxIcon(Icon_xpm)); 

В чем проблема с первой реализацией?

ответ

3

Если вы хотите использовать только файлы XPM, то wxImage::AddHandler(new wxXPMHandler); должен исправить это, иначе wxInitAllImageHandlers(); проще для нескольких типов изображений. Прежде чем попытаться загрузить файл, необходимо вызвать оба этих параметра.

1

Попробуйте добавить ::wxInitAllImageHandlers(); перед вызовом LoadFile или изменить тип изображения, указанный в вызове LoadFile, на wxBITMAP_TYPE_ANY.