DUILIB 背景贴图
贴图的描述
方式有两种
// 1、aaa.jpg
// 2、file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0'
// mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false'
第一种是最简单的,加载图片文件并将整张图片拉伸铺满整个控件
第二种既支持从文件中加载图片,也可以从资源中加载
1、如果是从文件加载,设置file属性,如file='XXX.png',不要写res和restype属性
2、如果从资源加载,设置res和restype属性,不要设置file属性
3、dest属性的作用是指定图片绘制在控件的一部分上面(绘制目标位置)
4、source属性的作用是指定使用图片的一部分
5、corner属性是指图片安装scale9方式绘制(scale9含义往下边看)
6、mask属性是给不支持alpha通道的图片格式(如bmp)指定透明色
7、fade属性是设置图片绘制的透明度
8、hole属性是指定scale9绘制时要不要绘制中间部分(有些地方对提升性能比较有用)
9、xtiled属性设置成true就是指定图片在x轴不要拉伸而是平铺,ytiled属性设置成true就是指定图片在y轴不要拉伸而是平铺
让背景图片平铺要写:xtiled='true' ytiled='true'
这个UI设计器是不识别的.
==================================================================
Scale9的含义
它是使用网格将图像划分为9个区域,如图2所示,我用数字1-9标出了对应的区域,其中标红色的区域是不需要缩放的,而标蓝色的区域则是需要缩放的区域。
图2 对图片使用Scale9技术进行缩放
当这张图片被放大,依据Scale9的定义,区域1,3,7,9需要保持原有的尺寸(通过对比左侧和右侧的图像可以发现这一点),而其它区域则需要依据一定的规则改变自己的尺寸:
区域2,当图片放大,本区域宽度增加,高度保持不变
区域4,当图片放大,本区域高度增加,宽度保持不变
区域5,当图片放大,本区域宽度和高度都增加
区域6,当图片放大,本区域高度增加,宽度保持不变(规则与区域4一致)
区域8,当图片放大,本区域宽度增加,高度保持不变(规则与区域2一致)
对于区域5,我们在做外观设计的时候要重点注意,这个区域不要放置复杂图形,对于单色或简单渐变色而言,一定程度的放大是可以接受的,但如果是复杂图形,那么放大所产生的失真是非常明显的(当然如果是矢量图形,就不会有这个问题,但矢量图形对于CPU有较大的计算消耗,通常在性能敏感型的Flex应用中我们尽量使用位图皮肤)。
==================================================================
Scale9在duilib中的实例应用
以控件Combo为例,原本皮肤如图:,宽度是71,现在设置一个长200的Combo控件效果如图:
可以看到明显被拉伸了,添加corner属性代码如下:
- <Combo name="ComboClientDirSelect" text="TCP" height="20" width="200" itemshowhtml="true" itemtextcolor="#FF000000" itemselectedtextcolor="#FF000000" itemselectedbkcolor="#FFC1E3FF" itemhottextcolor="#FF000000" itemhotbkcolor="#FFE9F5FF" itemdisabledtextcolor="#FFCCCCCC" itemdisabledbkcolor="#FFFFFFFF" normalimage="file='Combo_nor.png' corner='5,2,30,2'" hotimage="file='Combo_over.png' corner='5,2,30,2'" pushedimage="file='Combo_over.png' corner='5,2,30,2'" dropboxsize="0,150">
- ...
此时效果如图:,显示正常了,其中corner='5,2,30,2'的含义是#字的4条线分别到 左 上 右 下的距离 然后把#中间的图片进行拉伸 最后达到完美效果.
DUILIB 背景贴图的更多相关文章
- WPF 背景网格图
利用DrawingBrush来画出背景网格图 <DrawingBrush Viewport="0,0,80,80" ViewportUnits="Absolute& ...
- 用EXcel制作不同背景的图
Excel 绘图区分区设置不同背景色 之 条形图 样图 在Excel图表中,如对绘图区设置背景色,一般只能对整个绘图区设置同一种颜色.图案或图片为背景.但有时希望能对不同的分区设置不同的颜色作为背景, ...
- Lodop如何设置预览后导出带背景的图,打印不带背景图
Lodop中的ADD_PRINT_SETUP_BKIMG,可以加载上背景图,该背景图在预览的时候可以显示也可以不显示,打印可以打印出来也可以不打印出来.一般套打,都是不打印背景图的,比如一些快递的快递 ...
- vi/vim键盘图-----又一张桌面背景好图
也许还是有很多人不能愿意用CLI的vi/Vim来写东西,不过,当你真的习惯了,它的高效性就是不可估量了.下面的这张图,一看就明白了,从此,学习变的不再艰难^_^ 补注: 图中没有关于查找和替换的,应该 ...
- unity3d 使用背景贴图
使用贴图代替天空盒作为背景,参照:http://www.narkii.com/club/thread-261840-1.html 看看我做的:
- div 背景放图和直接放图区别
<html> <head> <meta charset="UTF-8"> <title></title> <sty ...
- Vue+WebPack游戏设计:自动背景贴图和游戏主循环的实现
- duilib corner属性的贴图技巧——让图片自动贴到控件的的某一边或者一角并自适应控件的大小
转载请说明原出处,谢谢~~ Duilib给控件贴图功能可以附带多个属性,各个属性的配合可以达到许多效果.以下是duilib支持的所有贴图属性: 贴图描述: Duilib的表现力丰富很大程度上得益于贴图 ...
- duilib入门之贴图描述、类html文本描述、动态换肤、Dll插件、资源打包
转载自duilib入门文档 贴图描述: Duilib的表现力丰富很大程度上得益于贴图描述的简单强大.Duilib的贴图描述分为简单模式和复杂模式两种. 简单模式使用文件名做为贴图描述内容,在这种方式下 ...
随机推荐
- win7下IIS错误:"无法访问请求的页面,因为该页的相关配置数据无效"的解决方法(转)
今天新装win7,然后在IIS下布署了一个网站,布署完成后运行,提示如下错误:HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效 ...
- 关于初次使用Verilog HDL语言需要懂的基本语法
关于初次使用Verilog HDL语言需要懂的基本语法 1.常量 数字表达式全面的描述方式为:<位宽><进制><数字> 8’b10101100,表示位宽为8的二进制 ...
- ssl_error_rx_record_too_long
Linux下安装SSL 当使用https访问时出现: SSL 接收到一个超出最大准许长度的记录. (错误码: ssl_error_rx_record_too_long) 网上说修改虚拟机 vi /et ...
- 关于华为x2中的外置SDCard的使用
一.前要 记录一下最近在开发生产过程中遇到的一个小问题.在使用x2的华为7寸平板时,由于需要大内存去录制视频,所以就使用X2自带的SDCard口,插入1个128G的SDCard卡.但是Android ...
- common.support.percent.PercentFrameLayout.onLayout(PercentFrameLayout.java:151)
08-29 20:01:47.402 18908-19364/com.tongyan.subway.inspect E/CrashHandler: java.lang.NullPointerExcep ...
- ADF_Controller系列3_通过创建ADF Menu作为页面向导(Part1)
2015-02-15 Created By BaoXinjian
- UML精粹3 - 类图,序列图,CRC
类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...
- Wampserver2.5配置虚拟主机出现403 Forbidden解决办法
一直在用APMServ5.2.6,mysql好办,可以用mariadb代替进行升级,但php升级到5.4.7就没办法再升级,安装加速器也困难.就想迁移到Wampserver上来,以前也尝试过Wamps ...
- java maven诡异的错误no class found
从服务器下载一个java web项目,启动老提示no class found,查看maven依赖库,相关的jar包都已经引入.同样一个项目,在别的机器都可以运行,唯独在我本机运行出错. 为了排错,将其 ...
- 创建线程方式-NSThread
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...