博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三十三篇:使用uiresImporter生成uires.idx及skin.xml
阅读量:6077 次
发布时间:2019-06-20

本文共 1621 字,大约阅读时间需要 5 分钟。

在SOUI中,使用uires.idx这个文件来记录程序中使用的所有资源文件。

此外绘制对象(ISkinObj)则一般放在skin.xml中描述。

要向一个界面中增加一个新的图片,在没有uiresImporter之前,首先我们需要把新的图片资源增复制到uires下的某个目录下,然后在uires.idx中加一条文件记录,然后在skin.xml中使用一个适当的skin类型(一般是imglist,imgframe)来描述图片的显示方式,再在UI中引用该skin来绘制。

由于SOUI目前没有提供UI编辑器,所有的XML都需要手写,图片很多的时间文件导入是一个很麻烦又容易出错的工作。

根据前段时间一个网友制作的内部使用的SOUI辅助工具的思想,我开发了uiresimporter这个工具。

uiresimporter.exe位于SOUI的tools目录下,对应源代码在tools\src\uiresimporter里。

uiresimporter的目标就是试图解决手动增加资源的麻烦。

和uiresBuilder一样,uiresimporter也是一个命令行工具,它支持5个参数,见下面示例代码(demos\mclistview_demo\uiresimporter.bat):

1 rem 使用uiresImporter来自动导入资源到uires.idx及values\skin.xml.2 rem -p中指定uires目录。3 rem -s中指定需要在uires.idx中自动更新的文件夹。存在多个目录时应该使用"a|b|c"这样的形式分割,并使用引号。4 rem -i参数中指定的图片支持自动生成skin,自动生成skin只支持imglist,imgframe两种,不支持的图片放到其它目录,如示例中的滚动条皮肤。5 rem -b yes自动备份原有XML。no不备份。6 rem -c yes 皮肤默认支持着色处理,no 默认禁止着色。7 %SOUIPATH%\tools\uiresImporter.exe -p uires -s "layout|icon|imgx" -i image -b yes -c no

为了自动导入图片,我们需要为图片的文件名做点修改:uiresimporter通过文件名后的以[]包含的内容来识别图片显示格式。

可以有3种格式:

1、对于imglist,只需要在[]中指定一个子图数量即可,如btn_login[3].png,这样uiresimporter自动生成一个名字为btn_login的imglist对象,这个对象有3种状态。(当不指定[x]时,也生成一个imglist对象,状态数量为1。

2、对于imgframe,有一种完成的方式和一种缩略形式:

  2.1 完全形式:bg_login[1{2,40,2,10}].png。这代表图片只有一个状态,它的九宫切分为left:2,top:40,right:2,bottom:10。

  2.2 缩略形式:bg_login[1{2,5}].png。当九宫的上下及左右大小相同时,可以使用缩略形式来命名。

2016-5-2号版本新增加以下可选参数:

{ec=0/1} 是否支持皮肤着色(enableColorize)

{fit=0/1} 自适应绘图标志

{tile=0/1} 平铺标志

{filter=0/1/2/3} 插值滤镜类型, 0=null, 1=low, 2= midium, 3=high

{vert=0/1} 子图垂直排列标志。

在imgframe中,上述新标志必须在margin标志之后,否则margin标志将不能识别。

注:如果是需要将资源编译到EXE,导入文件后记得使用uiresbuilder来重新生成.rc2文件。

 

  

 

转载于:https://www.cnblogs.com/setoutsoft/p/5428158.html

你可能感兴趣的文章
WCF的实例管理
查看>>
企业用户如何防病毒
查看>>
图文并茂讲解VMware三种网络模式
查看>>
Exchange Server 2010部署(四)安装Exchange 2010邮箱角色服务器
查看>>
jQuery:理解$(document).ready()的特殊写法
查看>>
《网管员必读——网络基础》(第2版)试读样章下载
查看>>
基于C#的波形显示控件的实现
查看>>
Zencart获取PayPal PDT Token参数教程方法
查看>>
Bing Maps进阶系列三:使用地图图像服务(ImageryService)
查看>>
python模拟用户登录某某网
查看>>
VS2010 PrintDialog Win7 64无法显示
查看>>
MYSQL进入客户端后切换服务器的简单做法试验
查看>>
Python 类属性的理解
查看>>
Android在layout xml中使用include[转]
查看>>
Java final 修饰符知识点总结
查看>>
使用CSS 排版网页布局
查看>>
【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析
查看>>
使用Java取得本机IP和机器名
查看>>
Linux下USB转串口的驱动【转】
查看>>
HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
查看>>