查看了wxWidgets官方论坛,又google了好些地方,才发现wxWidgets里显示透明图片其实很简单,但为了避免遗忘,还是在这里做一个记录吧:

将原来的透明图片如example.png等,利用AnthemionImageBlocks转换为所需大小的xpm格式,再用notepad++或者UltraEdit之类的软件,编辑xpm文件,将其中透明的部分设置为“None”,即可在程序中实现透明显示。

另外,再附上xpm文件的基本机构

XPM文件的基本结构是

static char * <pixmap_name>[] ={
<Values>
<Colors>
<Pixels>
<Extensions>
};

其中Values部分相当于图像文件的文件头,它由
<width><height><numcolors><cpp> [<x_hotspot><y_hotspot> ] [ XPMEXT ]
构成,其中x_hotspot,y_hotspot,XPMEXT是可选的。
width:图像的宽度,像素为单位
height:图像的高度,像素为单位
numcolors:颜色数
cpp:每个像素占用的字符长度
x_hotspot:热点的X轴位置
y_hotspot:热点的Y轴位置

Colors部分定义的是调色板的信息,它由
<character> {<key><color> } {<key><color> }构成
character是颜色索引值,key是关键字,color是颜色值
key可以有以下几种选项:
m:单色
s:符号名称
g4:4级灰度
g:灰度
c:彩色
color也可以由以下几种构成:
颜色名称
#开头的十六进制数表示RGB空间颜色值
%开头的十六禁止数表示HSV空间颜色值
符号名称
字符串NONE,表示该颜色是透明色

Pixels部分表示实际的像素,全部采用调色板中定义的索引,由等同于图像像素高度的行构成。

Extension部分可以自己定义一些图像附件信息,如作者,标题等,形如
XPMEXT <extension_name><extension_data_string>单行的扩展
XPMEXT <extension_name>
<extension_data_string1>
<extension_data_string2>
多行的扩展
Extension部分必须以XPMENDEXT标志结束。
例子如:

static char * plaid[] =
{

"22 22 4 2 0 0 XPMEXT",

" c red m white s light_color",
"Y c green m black s ines_in_mix",
"+ c yellow m white s lines_in_dark ",
"x m black s dark_color ",

"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
"Y Y Y Y Y x Y Y Y Y Y + x + x + x + x + x + ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
"x x x x x x x x x x x x x x x x x x x x x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
"XPMEXT ext1 data1",
"XPMEXT ext2",
"data2_1",
"data2_2",
"XPMEXT ext3",
"data3",
"XPMEXT",
"data4",
"XPMENDEXT"
};

wxWidgets利用透明图片自定义工具条相关推荐

  1. html自定义工具条,为Autodesk Viewer添加自定义工具条的更好方法

    上一篇文章中我介绍了使用Autodesk Viewer的UI API来给viewer添加自定义工具条的方法,看起来很简单是吧.不过有个问题,就是关于自定义工具条的信息(包括按钮的文本.图标.样式.ca ...

  2. Polyworks脚本开发学习笔记(十七)-制作宏脚本自定义工具条

    Polyworks脚本开发学习笔记(十七)-制作宏脚本自定义工具条 做好的宏脚本程序,每次打开脚本加载程序太多麻烦,为了方便的调用脚本做各种操作,可以使用系统的自定义工具条功能将脚本加载到工具条上. ...

  3. 工具条研究手记(5)- 自定义工具条的实现

    /*****************************************************************/ /*          工具条研究手记(5)- 自定义工具条的实 ...

  4. Wince5.0自定义工具条

    2007-3-18   Wince5.0自定义ToolBar 做WinCE的开发时,碰到一很头疼的事(Coolpad机器).它的菜单很难看,字体很大,样式也太简单,就选用了 CF2.0中的ToolBa ...

  5. Navisworks API 简单二次开发 (自定义工具条)

    在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...

  6. SketchUp中如何通过自定义工具条提升效率?

    作者:TutorialsUp SketchUp的开源包容造就了无数插件的开发与应用 如何将成千上万个最实用.最高频的插件工具 集成到自定义的工具栏中,来提高我们的工作效率 Toolbar Editor ...

  7. abap al设置单元格可编辑 oo_OO ALV常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)...

    一.所用类: cl_gui_alv_grid cl_gui_docking_container 二.效果图: 执行: 单击 双击 F4帮助 航班单元格上F4或点击 后面的小按钮 (本功能在设置字段样式 ...

  8. 实战ALV OO技术实现添加工具条按钮

    REPORT  Z_ALV_ERIC. *定义使用图标,按钮使用 INCLUDE <ICON>. *定义事件类型 CLASS LCL_EVENT_RECEIVER DEFINITION D ...

  9. 为Autodesk Viewer添加自定义工具条

    如果你参加过我们近期的活动,你就会频繁的听到我们现在正在做的Autodesk Viewer大模型浏览器,这是一个不需要下载任何插件,基于WebGL技术的浏览器,可以支持几十种数据格式.同时viewer ...

最新文章

  1. ibm db2获取目标时间与当前时间的差值_高帧频视觉实时目标检测系统
  2. 读写分离原来这么简单,一个小注解就够了
  3. Jeff Dean亲自揭秘谷歌下一代AI架构:通用、稀疏且高效,网友不买帐:毫无新意...
  4. 通过python实现卷积神经网络_Python 徒手实现 卷积神经网络 CNN
  5. 经典html5网页,HTML5网页设计经典
  6. [转] Apache日志分析常用Shell命令
  7. WHY YOUR PRIVATE CLOUD COULD LOOK A LOT LIKE PAAS
  8. oracle那些基本知识
  9. 雨林木风系统封装工具封装xp_如何用小丸工具大幅度压缩视频且画质损失较小?...
  10. ASP.NET向Javascript传递变量
  11. faster-rcnn for tensorflow 测试过程
  12. 随想录(我们应该编写什么样的软件)
  13. Atitit  OOCSS vs bem
  14. 使用JavaScript将小写金额转化为大写金额的两种常见方法
  15. BurpSuite+Proxifer 抓取PC客户端HTTP数据包
  16. axure:原型简单使用
  17. 阿里云服务器的登录方法
  18. Performing Code Analysis...
  19. 操作系统实验3—实现请求页式存储管理模拟程序
  20. C++ 使用命令行编译程序

热门文章

  1. 机房精密空调压缩机故障处理实例
  2. 成功解决ModuleNotFoundError: No module named engine
  3. Dataset之BDD100K:BDD100K数据集的简介、下载、使用方法之详细攻略
  4. TF之LSTM:基于Tensorflow框架采用PTB数据集建立LSTM网络的自然语言建模
  5. 决定系数R2真的可靠吗?
  6. MySQL索引面试题分析(索引分析,典型题目案例)
  7. 自定义滚动条Js简版
  8. 第六十七篇、OC_UITableView head下拉图片放大的效果
  9. C/C++宏定义中#与##区别 .
  10. 【jQuery源码】select方法