制作界面的自动化
意义:对于程序设计人员来说,比较痛苦的是制作界面。从设计人员发送的稿件(通常为jpg格式),到完成html的布局,需要将图像转化为div标记,自动化这一过程十分有意义
1.设计一个工具:从图片格式,生成bootstrap3的布局文件,目的是生成可嵌套的合适的div,row,column
2.思路:
定义:div就是一个矩形框,而在html布局中的任意两个div,有以下几种形式
事实上除了最后一种交错的方式(面积有重叠),两个div可以任意方式组合。最后一种方式的坐标表达是()
考察div的排列方式,对于他们应该使用横线与纵线如何划分,使得他们能够处于划分后的横纵的方格之中? 很显然当两个div长,宽的坐标有交集时候,只能按照一个方向划分,使得两个div分隔开,这就决定首先需要划分横向还是纵 的线条。而对于长,宽都 没有交集时候,例如上面图例的倒数第二个,则先横向划分还是先纵向划分是无关紧要的,为了我们程序能够工作,我们设定在此种情况下,必须首先进行纵向的划 分。
3.代码功能结构
那么该工具应该具有两个大的功能,第一个功能是能够辨识图片中的不相交方框块。采取一种算法,将图片前景的方框块从背景中辨识出来。 第二功能,是将辨识出来的方框块按照上面的思路转化成div(符合bootstrap栅格系统)。
辨识图片前景,并形成方框:
转化为div: