九宫切图在控件美化的时候会经常的用到 比如:

20140630220626_56850.png (3.13 KB, 下载次数: 42)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

最左边的是一个按钮的素材、、假设要把它做成一个按钮、、但是 需要用的按钮是多大不确定的、总不能一个按钮做一张图吧?而如果直接对图片进行拉升什么的 明显可以看到右边的两个看着怪别扭、于是乎 这个时候九宫切图出场了

所谓九宫切图 其实就是把图片分成九份然后绘制到相应的区域去

20140630221536_68673.png (925 Bytes, 下载次数: 38)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

如上图 将按钮是图片分成九个区域 然后只需要将四角填充到目标区域 其余的拉伸就可以了

20140630222154_91840.png (1.62 KB, 下载次数: 35)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

如上图 假设粉色区域是 按钮的区域 左上角是原图

先把原图的四个角取出来 原封不动的 绘制到目标区域的四个角去这样 无论按钮多大什么的 四个角都是没有拉伸过的 所以看不出那里别扭

接下来就是四边了、、四边是不得不拉升的 不然就没法玩了但是 原图的上下两边左右拉升是没有啥问题 原图的左右两边上下拉伸是没有问题的

20140630222622_35937.png (1.57 KB, 下载次数: 27)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

剩下的中间区域没啥说的了 直接拉升过去 因为中间区域不像边缘 有线条轮廓和圆角啥的一拉伸就变形了 所以可以直接拉升

20140630222923_77212.png (1.49 KB, 下载次数: 41)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

然后把刚才的全部合并起来就是

20140630223020_70104.png (1.74 KB, 下载次数: 36)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

去掉参考线条和粉色背景就是

20140630223125_21458.png (1.44 KB, 下载次数: 37)

【九宫切图】什么是九宫绘图,九宫格绘法

2014-7-21 11:45 上传

- -!、、不要纠结为嘛和原图颜色不一样 我用算法重新处理过一次图形的、、

这样以来 就可以把一个按钮拉伸到任意大小了 但是注意 不是啥图片都能进行九宫切图来操作 比如你要那一个Hello Kitty来进行九宫切图 估计会成变形金刚的、、

估计看了上面不用我解释 也都能知道那些图才具备九宫切图的标准、、

还是贴一下代码吧

[C#] 纯文本查看 复制代码public static void RenderBackground(Graphics g, Image img, Rectangle rect) {

//填充四个角

g.DrawImage(img, new Rectangle(rect.X, rect.Y, 5, 5),

new Rectangle(0, 0, 5, 5), GraphicsUnit.Pixel);

g.DrawImage(img, new Rectangle(rect.Right - 5, rect.Y, 5, 5),

new Rectangle(img.Width - 5, 0, 5, 5), GraphicsUnit.Pixel);

g.DrawImage(img, new Rectangle(rect.X, rect.Bottom - 5, 5, 5),

new Rectangle(0, img.Height - 5, 5, 5), GraphicsUnit.Pixel);

g.DrawImage(img, new Rectangle(rect.Right - 5, rect.Bottom - 5, 5, 5),

new Rectangle(img.Width - 5, img.Height - 5, 5, 5), GraphicsUnit.Pixel);

//四边

g.DrawImage(img, new Rectangle(rect.X, rect.Y + 5, 5, rect.Height - 10),

new Rectangle(0, 5, 5, img.Height - 10), GraphicsUnit.Pixel);

g.DrawImage(img, new Rectangle(rect.X + 5, rect.Y, rect.Width - 10, 5),

new Rectangle(5, 0, img.Width - 10, 5), GraphicsUnit.Pixel);

g.DrawImage(img, new Rectangle(rect.Right - 5, rect.Y + 5, 5, rect.Height - 10),

new Rectangle(img.Width - 5, 5, 5, img.Height - 10), GraphicsUnit.Pixel);

g.DrawImage(img, new Rectangle(rect.X + 5, rect.Bottom - 5, rect.Width - 10, 5),

new Rectangle(5, img.Height - 5, img.Width - 10, 5), GraphicsUnit.Pixel);

//中间

g.DrawImage(img,

new Rectangle(rect.X + 5, rect.Y + 5, rect.Width - 10, rect.Height - 10),

new Rectangle(5, 5, img.Width - 10, img.Height - 10), GraphicsUnit.Pixel);

}

为了方便我这里那个5是直接定死了的 而通常情况下 切图的参数更具情况而定、、思路在那里 具体要怎么写 由自己决定、、通常情况下 我习惯把这个写在一个单独的Helper类中 方便其他调用 而假设要写控件就可以这样:

ui九宫格切图_【九宫切图】什么是九宫绘图,九宫格绘法相关推荐

  1. arcgis批量出图python代码_【GIS进阶】ArcGIS批量出图_定义出图

    今天的文章是浩哥投稿!!! 下图是我欢呼雀跃的样子~~~~~ 本文亮点: 所有步骤都是用ArcGIS中各种工具和软件操作组合,未使用Arcpy与Python等需要使用代码的工具! 这次的这个批量出图又 ...

  2. 五笔字型键盘字根图_手机输入法的派别之争:九宫格和全键盘,哪个更科学?...

    本       文       约 3376 字 阅       读       需       要 10 min 有人的地方,就有江湖.而在手机输入法的江湖里,也分为两个派别.一个是九宫格输入法,另 ...

  3. 计算机及网络应用基础思维导图_思维导图在生物教学中的应用

    思维导图又叫心智图,是由一个中心向周围有层次的发散的图形,由词汇.图形.线条.编号等构成,应用不同颜色的笔画出各级分支,既是一种思维工具又是一种学习方法.生物学科中含有大量的概念.生物分类.生物特征等 ...

  4. vue pc端 商品轮播图_轮播图高点击商品图

    轮播图由背景,商品图,文案三大部分组成,其中商品图是轮播图的主体内容,在轮播主图中,能不能通过一张商品图呈现出商品信息或者卖点,是影响点击率高低的重要因素.本期内容,我们将从商品图出发,为大家讲解的轮 ...

  5. python多个箱线图_箱线图Python

    1) 箱线图,又称箱形图(boxplot)或盒式图,不同于一般的折线图.柱状图或饼图等传统图表,只是数据大小.占比.趋势等等的呈现,其包含一些统计学的均值.分位数.极值等等统计量,因此,该图信息量较大 ...

  6. twitter如何以图搜图_没有完整图时,如何使用图深度学习?你需要了解流形学习2.0版本...

    原标题:没有完整图时,如何使用图深度学习?你需要了解流形学习版本 流形学习,自 2000 年在著名的科学杂志<Science>被首次提出以来,已成为信息科学领域的研究热点.可能很多人会问, ...

  7. 4米乘以12米CAD图_设备时序图的绘制方法

    每日一省:你觉得工作上还有哪些需要改进的地方? 在方案说明书中常用C/T来作为设备性能参数,说明设备的生产能力.C/T是指设备完成一个完整动作周期所需要的时间.设备的理论C/T是通过时序图的分析得到的 ...

  8. 关于主机的思维导图_思维导图正流行,现在教孩子还不晚(实操篇)

      清华爸+南大妈的育儿思考自留地 点击上方蓝字,即可成功订阅 *作者:小延妈,家有一年级男宝,南京大学新闻系毕业,资深文艺青年,古文爱好者.前几天,在一个"鸡娃"群中,有宝妈分享 ...

  9. mysql er 图_数据库ER图基础概念整理

    ER图分为实体.属性.关系三个核心部分 图形表示分别是 长方形,椭圆形,菱形 一,组成部分介绍 1,实体(entity):数据模型中的数据对像,每个实体都有自己的实体成员或者说实体对象,例如学生实体包 ...

  10. 大数据概念思维导图_思维导图|数据化风控(信用评分建模教程)

    本文将按<数据化风控--信用评分建模教程>行文逻辑,并结合相关参考材料,为大家梳理本书涉及的重点知识,也算是自己读书笔记分享.有需要的同学可先收藏.点赞,以便回顾学习和吸收,当然,如果愿意 ...

最新文章

  1. 交通运输部部长李小鹏谈及自动驾驶:包容失败、反对垄断,力争在国家层面出台指导意见...
  2. Linux zip 加密压缩
  3. 第二章密码学基础与应用备考要点及真题分布
  4. 编写java判断闰年_编写java程序判断闰年。
  5. Android开发文档
  6. windows11升级安装失败怎么办,电脑如何正确安装win11
  7. 电脑键盘下划线怎么打_电脑键盘失灵鼠标不动怎么办 键盘失灵鼠标不动解决办法...
  8. OSPF开销值、协议优先级及计时器的修改
  9. Android DataBing基础使用 +ViewModel 及setvalue过程及原理
  10. 超平面(hyperplane)的定义
  11. iphone之参数知识(一)
  12. oracle 计算母亲节日期,母亲节,给妈妈一份礼物
  13. Maven的生命周期和依赖传递(四)
  14. 群晖 DS412+ NAS 网络存储器详尽功能应用评测
  15. word ftl操作
  16. 互联网dmz区_idc是什么行业(idc区和dmz区)
  17. python matlab 普朗克公式黑体光谱辐射出射度 绘图
  18. win7 无法组播的问题
  19. 关于图像opencv中对于长宽的定义
  20. 中国数学家秦九韶算法示例

热门文章

  1. 2021年金属非金属矿山井下电气考试内容及金属非金属矿山井下电气免费试题
  2. 基于RC电路的DA14585测量NTC电阻阻值
  3. delphi控件切图界面闪烁_8、控件系列之_加载占位图+页面指示器
  4. 闲置台式机+文件服务器,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS
  5. ngrok私有服务搭建(docker交叉编译)
  6. 蓝牙耳机南卡和JBL哪款好用?半入耳耳机南卡和JBL详细对比评测
  7. VS +QT 手动添加Q_OBJECT 报错问题解决
  8. java怎么无参构造方法_Java中如何在无参构造方法中调用有参构造?
  9. ​一文了解ICP备案
  10. input输入框type参数