Duilib corner属性

corner 属性实现原理:九宫格

什么是九宫格:http://blog.csdn.net/yanzhibo/article/details/8270266


经过仔细琢磨之后corner 属性的四个参数分别是

corner (ltW,ltH,rbW,rbH);

ltW:bkimage 左上角有水平像素,多少像素不被拉伸

ltH:bkimage 左上角有竖直像素,多少像素不被拉伸

rbW:bkimage 右下角有水平像素,多少像素不被拉伸

rbH:bkimage 右下角有竖直像素,多少像素不被拉伸


例如图片大小(400*600)

拉伸方向:斜对角拉伸(左上----右下) 直至与窗口对角重合(如果没有像素可以拉伸则保持原图大小 eg:corner (400,600,0,0) 或者corner (0,0,400,600))



如果从右上角横向拉伸,纵向不拉伸。所以横向不拉伸的像素为0,纵向不拉伸的像素等于Height 即: corner=‘0,600,0,0’

如果从右下角横向拉伸,纵向不拉伸。所以横向不拉伸的像素为0,纵向不拉伸的像素等于Height 即: corner=‘0,0,0,600’


例如Menu图片:前面30像素固定死不拉伸,后面拉升 

原图:

拉伸后的效果图:

边框一个像素,所以需要+1

所以:右上角横向有30像素不拉伸,纵向1像素不拉伸,右下角横向1像素不拉伸,纵向1像素不拉伸:即corner=‘30,1,1,1’

当然为了更加防止边框附件的细微差异色我们可以稍微扩大一点 eg:corner=‘30,8,8,8’ 甚至可以是corner=‘40,9,10,9’ 或者更大,只要预留的拉升像素不为0就行。

对于不可拉升像素大于图片本身像素大小,没仔细研究,很麻烦,如果有谁发现了告知一下~!

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值