Как отображать четкие иконки в wxWIdgets

Я показываю icon для моего приложения, использующего wxWidgets, Я использую следующий код и использую .ico file с 128*128 размеры. но значок отображается не острый. Как я должен сделать это острым?
Я использую следующий код:

bool ImageFileToIcon(wxString &path, wxIcon &icon)
{
wxImage image;
if (!image.LoadFile(path))
{
wxLogError(wxT("Couldn't load image from '%s'."), path.c_str());
return false;
}
icon.CopyFromBitmap(image);
return true;
}

someFunction()
{
wxIcon tempIcon;
ImageFileToIcon(IconImagePath, tempIcon);
SetIcon(tempIcon);
}

Что мне делать, если я должен использовать .ico файл с меньшим размером или мне нужно изменить код? Есть ли что-то вроде .ico-файлов, содержащих все размеры, и мы должны настроить его в соответствии с разрешением экрана. Как это сделать в wxWidgets?

0

Решение

wxIcon под Windows особенным, поскольку он может содержать несколько представлений одного и того же изображения в разных разрешениях, в то время как wxImage содержит только одно изображение. Поэтому, когда вы загружаете .ico подать в wxImage Вы теряете все, кроме одной иконы.

Вместо этого вы должны использовать специализированные wxIconBundle класс вместо. Это также сделает ваш код намного проще, в основном вы просто можете

SetIcon(wxIconBundle(IconImagePath));
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]