wxBitmap::LoadFile не работает в Windows

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

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));

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


person Canopus    schedule 13.10.2010    source источник


Ответы (2)


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

person SteveL    schedule 13.10.2010

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

person jholl    schedule 13.10.2010