Я думаю, что самый простой способ сделать это - сначала загрузить файл изображения в wxImage , затем изменить масштаб wxImage и, наконец, преобразовать wxImage в wxBitmap.Вот так:
void rrFrame::testClick(wxCommandEvent& event)
{
wxString strPath = "img\\img1.png";
wxImage im(strPath,wxBITMAP_TYPE_ANY );
wxSize sz = camFrame_wx->GetSize();
im.Rescale(sz.GetWidth(),sz.GetHeight(),wxIMAGE_QUALITY_HIGH );
wxBitmap bmp(im);
camFrame_wx->DrawBitmap(bmp, wxPoint(0, 0), false);
//camFrame_wx is the variable name of 'Custom'
}
Два дополнительных комментария:
- Вам не нужен макрос wxT для строковых литералов в wxWidgets 3.0 или новее .
- Вы можете использовать другие опции, такие как wxIMAGE_QUALITY_NEAREST вместо wxIMAGE_QUALITY_HIGH, если вам требуется более быстрое изменение масштаба.Полный список доступен здесь .