wxWidgets中贴图操作.

简介:
这个问题曾经困惑了我很久,因为wxWidgets的资料在网上并不是很多,所幸在工期的压力下还是捣鼓出来了。向窗体上贴图,一般图片格式采用的是JPG或者是BMP。在这里做一个申明。
         //添加jpg和bmp文件支持 
        wxImage::AddHandler( new wxJPEGHandler); 
        wxImage::AddHandler( new wxBMPHandler);
 
贴图函数.
//在指定位置进行贴图 
//pt_x为x坐标,pt_y为y坐标,strImagePath为要加载图片的相对路径 
void iringFrame::DrawPicture() 



    wxBitmap bitmap; 
    bitmap.LoadFile(strImagePath,wxBITMAP_TYPE_JPEG); 
     //判断图片是否加载成功 
     if (bitmap.Ok()) 
    {
//dc绘图
//dc.DrawBitmap(bitmap,rCallOpenX,rCallOpenY,1);
//m_bitmap7为贴图的区域
        m_bitmap7->SetBitmap(bitmap); 
    } 
     else 
    { 
         //图片加载失败 
        strImagePath.Printf(wxT( "The picture adds to carry a mistake!!!")); 
        wxMessageBox(strImagePath,_( "cicatel")); 

    } 
}
另外按需求,对鼠标移动时光标的改变也做了处理,没什么难度,主要是文档资料都是英文,理解起来比较困难,所以权且做一个备忘吧.
//鼠标移动到按钮上时光标的变化 
void iringFrame::getMousePoint() 
{
     //默认状态的光标 
     if (checkKeyArea() == keyNoTouch)
    { 
        wxCursor down_cursor = wxCursor(wxCURSOR_ARROW); 
        SetStyle(down_cursor); 
    } 
     else 
    {  //处于按钮位置的光标 
        wxCursor down_cursor = wxCursor(wxCURSOR_HAND); 
        SetStyle(down_cursor); 
    } 

}
 本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/90137,如需转载请自行联系原作者

相关文章
|
编解码 Python
Python 技术篇-使用PyQt5库获取电脑屏幕桌面的宽、高和分辨率
Python 技术篇-使用PyQt5库获取电脑屏幕桌面的宽、高和分辨率
1202 0
Python 技术篇-使用PyQt5库获取电脑屏幕桌面的宽、高和分辨率
|
3天前
|
存储 编解码 Windows
EasyX图形库学习(三、用easyX控制图形界面中的小球、图片-加载、输出)
EasyX图形库学习(三、用easyX控制图形界面中的小球、图片-加载、输出)
8. 关于Blender的窗口,你需要知道的细节
8. 关于Blender的窗口,你需要知道的细节
302 0
|
vr&ar
NDK OpenGL ES 3.0 开发(十七):相机基础滤镜
上文中我们通过 ImageReader 获取到 Camera2 预览的 YUV 数据,然后利用 OpenGLES 渲染实现相机预览,这一节将利用 GLSL (OpenGL 着色器语言)基于不同的着色器实现多种基础滤镜。
267 0
NDK OpenGL ES 3.0 开发(十七):相机基础滤镜
NDK OpenGL ES 3.0 开发(十五):立方体贴图(天空盒)
OpenGL ES 立方体贴图本质上还是纹理映射,是一种 3D 纹理映射。立方体贴图所使的纹理称为立方图纹理,它是由 6 个单独的 2D 纹理组成,每个 2D 纹理是立方图的一个面
301 0
NDK OpenGL ES 3.0 开发(十五):立方体贴图(天空盒)
|
存储 图形学
【Aladdin Unity3D Shader编程】之四 贴图纹理
关于纹理贴图介绍 纹理坐标也叫UV坐标,UV坐标都是0~1,并不是我们所理解的像素坐标,相当于是一个百分比。 编写shader映射纹理 将纹理的颜色取代漫反射的颜色 Shader "AladdinShader/11 Single Texture Shader" ...
1728 0