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就行。

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

Duilib corner属性相关推荐

  1. 【DuiLib入门基础】九宫格corner属性详细解释

    技术背景 九宫格是用来减少图片缩放拉伸时失真程度的一种常用技术, 如果你做过android开发尤其是手游这块, 你可能很快发现这其实就是android所直接支持的一个特性9patch. 对于九宫格图片 ...

  2. duilib bkimage 属性

    duilib bkimage 属性 <Attribute name="bkimage" default="" type="STRING" ...

  3. Duilib样式性大全-Duilib属性大全-Duilib XML属性大全-Duilib XML样式大全

    Duilib样式性大全-Duilib属性大全-Duilib XML属性大全-Duilib XML样式大全 <?xml version="1.0" encoding=" ...

  4. duilib--corner属性总结

    界面控件进行贴图时,当控件大小和图片大小不统一时,控件上的贴图会进行拉伸,直观上看就是图片失真了,或者控件上出现了不属于图像颜色的 颜色. 下图中画红圈的那个颜色就是由于corner属性设置不合理的时 ...

  5. Duilib技巧:背景图片平铺

    贴图的描述 方式有两种     // 1.aaa.jpg     // 2.file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0 ...

  6. duilib设置透明窗口_界面开发心得与Duilib | 学步园

    一.设置窗体透明度和指定透明色(如指定了黑色,即所有黑色的部分将会变得透明) DWORD dwExStyle=GetWindowLong(m_hWnd,GWL_EXSTYLE); if((dwExSt ...

  7. android:简单包装实现伪自定义DatePickerDialog和TimePickerDialog

    之所以写这个东西,是因为在我们的设计中需要给 日期选择器加一个标题,一开始直接使用 原生的 DatePickerAlertDialog ,因为他继承自 AlertDialog ,所以就直接 调用了 s ...

  8. 有一定基础的 C++ 学习者该如何学习 Windows 编程?

    这篇文章是回答一位知友的提问: 有一定基础是指对大学教材级别的C++知识有了解,然而只停留在黑框程序的编写和阅读上. 手头有一个使用VS2010开发的windows工程想要读懂(这是契机,不是原因), ...

  9. Android高斯模糊(毛玻璃效果)蒙层库

    ShapeBlurView ShapeBlurView库是一个高斯模糊(毛玻璃效果)蒙层库.Like iOS UIVisualEffectView 不知大家做需求的时候是否有这样的效果要求: 需求示例 ...

最新文章

  1. RPC简介,及与web service的对比
  2. 我们“凭什么”找工作?
  3. 如何成为优秀的前端工程师
  4. YbtOJ#20067-[NOIP2020模拟赛B组Day5]糖果分配【dp】
  5. 纪中A组模拟赛总结(2021.7.16)
  6. 【机器学习技术】高斯过程初探
  7. java套接字数据对不上,服务器不从多个客户端(Java套接字)接收数据
  8. PGM:图模型学习概述
  9. Dynamics AX2012 SSRS报表添加功能(通用)
  10. 计算机硬盘换,无需重新安装系统即可更换硬盘的方法(计算机无需重新安装系统即可更换硬盘)...
  11. ubuntu 无法定位软件包
  12. dog log 算子_log算子和dog算子
  13. html embed自动播放,HTML-embed标签
  14. 向云再出发:如数据般飞驰的内蒙古
  15. KGB知识图谱充分发挥海量数据处理优势
  16. 清单革命 <<读后感>> _(:з」∠)_
  17. python实现的电影票房数据可视化
  18. 【Servlet篇】Response对象详细解读
  19. ES6学习笔记2:字符串的repeat()方法
  20. 【数据分析】【Pandas】(一)如何制作频率分布直方图

热门文章

  1. Linux中的基本命令无法使用,报Command not found的错误的解决方法
  2. Eigen中四元数Quaterniond的初始
  3. 【深度学习】实时人眼 瞳孔追踪 系统
  4. 9.PS-强大的画笔工具
  5. centos7下MySQL的安装(通用二进制安装)
  6. Redis系列:Redis持久化机制与Redis事务
  7. ubantu 黑屏_普罗菲斯触摸屏黑屏问题维修经验丰富
  8. 苹果Iphone/Ipad--L2TP虚拟教程
  9. CS231n课程笔记翻译9:卷积神经网络笔记
  10. 我的世界pe服务器坐标怎么显示,我的世界手机版坐标怎么看 PE版没有MOD怎么查看坐标...