codeBlocks 控件上显示图像
目的:在codeblock的指定控件位置上显示图像。
工作环境:CodeBlock17.12, wxWidgets3.0.4
关键步骤简述:
1st:wxImage::LoadFile();
2nd: wxBitmap m_bmp4Show = wxBitmap( m_wxImage );//将wxImage转为wxBitmap
3rd:wxClientDC dc(my_wxPanel);//获取控件的画板
4th:dc.Clear();//清理前面的图像数据
5th:dc.DrawBitmap(m_bmp4Show,0,0);//画图
Step1:控件建议使用 wxPanel、wxScrollWindow,方便图像的显示
wxScrolledWindow *Panel1 = new wxScrolledWindow(this, ID_SCROLLEDWINDOW1, wxDefaultPosition, wxSize(250,310), wxVSCROLL|wxHSCROLL, _T("ID_SCROLLEDWINDOW1"));
Step2:load图像的时候,使用wxClientDC 直接画图;
//wxImage m_image;
if ( !m_image.LoadFile( wxT("E:\\MedicalImage\\lenaTest2.jpg"), wxBITMAP_TYPE_ANY ) )
{
wxLogError(wxT("Can't load BMP image"));
}
else
{
// wxBitmap m_bmp4Show = wxBitmap( m_image );
m_bmp4Show= wxBitmap( m_image );
wxClientDC dc(Panel1); //在控件的画图板
dc.Clear();//清理前面的图像数据
dc.DrawBitmap(m_bmp4Show,0,0);
Update();//这用于刷新其它控件
}
Step3:重载OnPaint(),实现UI刷新的时候重新画图;
void ImageFrameFrame::OnPaint(wxPaintEvent& WXUNUSED(event))
{
if(m_bmp4Show.IsOk()){
wxClientDC dc(Panel1);
//wxPaintDC dc(Panel1);//有时候图像部分区域刷新有问题。
//dc.Clear();//清理前面的图像数据 ,但是会导致图像闪烁
dc.DrawBitmap(m_bmp4Show,0,0);
Update();
}
}
在wxWidgets的控件上显示图像ImageFrame.rar
3星 · 超过75%的资源 需积分: 40 83 浏览量
2020-03-29
09:16:32
上传
评论 1
收藏 595KB RAR 举报
qq_67259275
- 粉丝: 53
- 资源: 17
最新资源
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
- 基于STM32的测量温度与压力的数据处理设计源码+论文(毕业设计).zip
- Vision Transformer 网络对不同氨气氧气浓度轨迹RAS 图像数据集的分类,包含训练权重和数据集、迁移学习
- 基于C51带字库LCD12864(ST7920)的keil工程源码,只支持8位并口通讯(不支持串口),可显示中文.zip
- 基于SI4463射频模块433MD-SMA无线模块软硬件技术资料及(SI4463)IC技术资料文档.zip
- (GPS+北斗+GSM)HLK-GS2503模块软硬件开发资料包硬件参考设计(原理图PCB)+技术文档资料.zip
- 基于BERT+Biaffine结构的关系抽取模型源码+文档说明.zip
- 利用c语言编写的冒泡排序代码
- 基于Ansoft-HFSS知识总结hfss中文教程HFSS培训教材等技术资料合集(50个).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈