如何将位图拉伸到父面板(wxWidgets 自定义)
How to Stretch Bitmap into Parent Panel (wxWidgets Custom)
面板及其内部自定义的屏幕截图
我设置了一个wxButton,它将位图,png格式加载到右侧的面板。但是图像过于拟合。我想在通过按钮加载图像时将图像串到面板。
这是按钮的功能,以防万一:
void rrFrame::testClick(wxCommandEvent& event)
{
wxBitmap bmp;
wxString strPath = wxT("img\img1.png");
bmp.LoadFile(strPath, wxBITMAP_TYPE_ANY);
camFrame_wx->DrawBitmap(bmp, wxPoint(0, 0), false);
//camFrame_wx is the variable name of 'Custom'
}
我想我需要构造函数中的拉伸或适合函数。怎么做?
我认为最简单的方法是先将图像文件加载到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'
}
另外两点意见:
- 在 wxWidgets 3.0 或更高版本中,不需要字符串文本的 wxT 宏。
- 如果需要更快的重新缩放,可以使用其他选项(例如wxIMAGE_QUALITY_NEAREST而不是wxIMAGE_QUALITY_HIGH(。 完整列表可在此处获得。
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 自定义先决条件对移动分配运算符有效吗
- 使用VS Code和CMake Tools运行自定义命令
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- std::ranges::elements_view,用于自定义类似元组的数据
- 跟随整数索引列表的自定义类迭代器
- 参数化自定义CMake工具链
- 如何将位图拉伸到父面板(wxWidgets 自定义)
- C ,在WXWIDGETS中传递自定义类对象
- wxwidgets 自定义事件不会传播到父窗口
- wxWidgets 2.9在wxComboBox自定义EnterEvent中自动完成
- wxWidgets 中的自定义内存分配
- 从自定义wxPanel wxWidgets访问另一个元素
- 在自定义wxWidgets小部件中,两个相邻的按钮