移动网页模块化样式模板匹配方法

合集下载

移动应用开发技术中的布局适配技巧

移动应用开发技术中的布局适配技巧

移动应用开发技术中的布局适配技巧随着移动互联网的快速发展,移动应用的开发变得越来越重要。

同时,随着不同尺寸和分辨率的移动设备的广泛使用,开发人员面临着一个关键的挑战:如何在不同的设备上实现良好的布局适配。

本文将探讨一些在移动应用开发中常用的布局适配技巧,帮助开发人员解决这一挑战。

一、响应式布局响应式布局是一种以适应设备屏幕尺寸和分辨率为基础的布局方法。

它能够根据设备的特性和用户的行为自动调整页面的大小和布局。

在移动应用开发中,采用响应式布局可以使应用在不同的设备上呈现出一致的用户体验。

二、相对布局相对布局是指元素相对于其他元素的定位。

在移动应用开发中,可以利用相对布局来确保元素的位置和大小在不同设备上的一致性。

通过相对布局,开发人员可以使用比例关系来定义元素的位置和大小,而不是固定的像素值。

这样,无论设备的尺寸和分辨率如何变化,元素的相对位置和大小都能得到保持。

三、密度无关像素密度无关像素(dp)是一种在不同设备上提供一致像素单位的技术。

通过使用dp,开发人员可以确保元素在不同的设备上具有相同的显示效果。

在实际开发中,可以使用dp作为布局元素的尺寸单位,而不是直接使用像素值。

系统会根据设备的密度来自动转换dp为像素值,从而实现在不同设备上的布局适配。

四、栅格布局系统栅格布局系统是一种将页面布局划分为网格的方法。

在移动应用开发中,栅格布局系统可以帮助开发人员在不同设备上创建统一的布局。

通过将页面划分为均匀的网格,可以确保页面元素的位置和大小在不同设备上保持一致。

栅格布局系统还可以提供基于网格的响应式布局,使页面在不同设备上呈现出最佳效果。

五、视图适配器模式视图适配器模式是一种将数据和视图进行解耦的设计模式。

在移动应用开发中,视图适配器模式可以帮助开发人员根据设备的特性和用户的需求来动态选择合适的布局。

通过视图适配器模式,可以根据设备的屏幕尺寸和分辨率来选择合适的布局文件,从而实现在不同设备上的布局适配。

使用React进行移动端布局与适配

使用React进行移动端布局与适配

使用React进行移动端布局与适配移动端的普及使得移动应用成为了人们日常生活中不可或缺的一部分。

在设计和开发移动应用时,合理的布局和适配是非常重要的,这能够提供更好的用户体验。

React作为一种流行的前端开发框架,提供了丰富的组件和强大的布局与适配能力,下面将介绍如何使用React进行移动端布局与适配。

1. 使用Flexbox布局Flexbox布局是一种弹性盒子布局模型,它能够在不同屏幕尺寸上自动调整和排列组件。

在React中,可以使用Flexbox布局来实现移动端的自适应布局。

首先,在需要进行布局的组件的父级容器上设置display为"flex",这样它的子组件就能够自动按照一定的规则进行排列。

通过设置flex 属性,可以控制组件在容器中的比例和大小,如设置flex: 1表示组件将占据父级容器的全部空间。

2. 使用响应式设计在移动端开发中,不同设备的屏幕尺寸和分辨率存在差异,为了在不同的设备上获得良好的显示效果,需要使用响应式设计。

React提供了钩子函数来监听页面的变化,比如使用useWindowDimensions钩子函数可以获取当前窗口的宽度和高度。

通过监听窗口大小的变化,可以根据不同的屏幕尺寸来进行布局和样式的适配。

可以根据用户设备的屏幕宽度来动态地设置组件的样式,实现不同尺寸设备的适配。

3. 使用Media Query除了使用React提供的钩子函数,还可以结合CSS的Media Query 实现移动端的自适应。

Media Query是一种基于媒体特性的条件规则,可以根据设备的不同特性来应用不同的样式。

在React中,可以在组件的样式表中使用Media Query来实现根据不同设备的屏幕尺寸应用不同的样式。

通过使用@media关键字和查询条件,可以针对不同的屏幕尺寸设置不同的样式,比如设置不同的字体大小、边距和布局方式等。

4. 使用第三方组件库除了使用Flexbox布局和响应式设计,还可以结合使用一些优秀的第三方组件库来简化布局和适配的过程。

模板匹配算法

模板匹配算法

模板匹配算法模板匹配算法(Template Matching Algorithm)是一种基于图像识别的算法,它可以根据已有的模板信息,对于待匹配图像中的目标进行检测和识别。

这种算法在计算机视觉、机器人控制、智能交通、安防等领域中得到了广泛的应用。

一、算法原理模板匹配的过程可以简单描述为:在待匹配图像中搜索与指定模板最相似的局部区域,并标记其所在位置。

匹配程度的计算可以通过两幅图像的灰度值来实现。

模板匹配算法主要基于以下原理:1、模板图像与待匹配图像的灰度值变化连续和相似,且待匹配图像与模板图像的尺寸关系一致。

2、相对于待匹配图像,模板图像为小尺寸图像,可以忽略旋转和放缩等影响。

基于以上原理,我们可以通过以下几个步骤来实现模板匹配算法:1、读入待匹配图像和模板图像。

2、计算待匹配图像的灰度值和模板图像的灰度值,并将其归一化。

3、在待匹配图像中进行滑动窗口操作,将其分解为若干个小的局部区域。

4、在每个小局部区域内,计算其灰度值和模板图像的灰度值之间的匹配程度,并寻找与模板图像最相似的局部区域。

5、标记每个相似的局部区域的中心位置,并绘制相应矩形框。

二、算法优缺点模板匹配算法是一种简单易懂,容易实现的算法。

它具有以下几个优点:1、非常适合处理大尺寸且单一对象图像的匹配问题。

2、不需要复杂的预处理或模型训练,不依赖于外部数据集或学习算法。

3、可以在较短的时间内完成匹配操作,并对匹配结果确定性较高。

但是,模板匹配算法也存在以下缺点:1、非常敏感于光照变化、噪声、目标遮挡等因素,容易出现误报和漏报情况。

2、难以适用于多目标场景的处理,难以达到真正的智能感知水平。

3、需要占用大量的计算资源和内存,适用于小数据集的处理。

三、算法优化为了提高模板匹配算法的性能和鲁棒性,一些优化措施可以采取,包括:1、使用归一化的互相关函数(Normalized Cross-Correlation,NCC)来计算匹配程度,从而避免光照和噪声等因素的影响。

移动应用开发技术中常见的界面适配和多平台适应技巧

移动应用开发技术中常见的界面适配和多平台适应技巧

移动应用开发技术中常见的界面适配和多平台适应技巧随着移动互联网的快速发展,移动应用开发成为了热门行业。

在开发移动应用的过程中,面临的一个重要挑战就是如何适配不同的移动设备和操作系统。

界面适配和多平台适应成为了移动应用开发的重要技术。

界面适配,顾名思义,就是调整应用界面的布局和样式,以适应不同尺寸的屏幕和不同分辨率的移动设备。

在过去,不同的移动设备屏幕尺寸和分辨率各异,这给开发者带来了不小的麻烦。

然而,随着移动设备市场的发展和技术的进步,现在的移动设备屏幕尺寸和分辨率已经越来越统一。

因此,现代的移动应用开发中,界面适配变得相对容易一些。

为了实现界面适配,开发者可以采用不同的方法。

其中一种方法是使用百分比布局。

通过设置组件宽高的百分比,来实现界面在不同屏幕尺寸上的自适应。

这种方法可以适应屏幕尺寸的变化,但对于不同分辨率的适应效果并不理想。

另一种方法是采用响应式布局。

响应式布局通过媒体查询和CSS样式来适应不同屏幕尺寸和分辨率。

开发者可以根据不同的屏幕尺寸,设置不同的CSS样式,使应用在不同设备上呈现出最佳的效果。

响应式布局在开发响应式网页设计时非常常见,也可以用于移动应用的界面适配。

除了界面适配,多平台适应也是移动应用开发中的重要问题。

不同的移动设备使用不同的操作系统,如iOS、Android等。

为了满足不同操作系统的要求,开发者需要编写不同的代码,进行不同平台的适应。

但为了减少工作量和成本,开发者可以采用跨平台开发技术。

跨平台开发技术允许开发者使用统一的代码,同时在多个平台上运行应用。

其中一种常见的跨平台开发技术是使用Hybrid App。

Hybrid App结合了Web技术和原生技术的优势,可以通过HTML、CSS和JavaScript等前端技术进行开发,并借助原生容器来实现跨平台运行。

另一种跨平台开发技术是使用React Native。

React Native是由Facebook开发的框架,它允许开发者使用JavaScript来编写移动应用,并在多个平台上运行。

Web移动端适配-Flexible方案

Web移动端适配-Flexible方案

Web移动端适配-Flexible⽅案⼀、移动端⼀些概念视觉稿(选取⼀款⼿机的屏幕宽⾼作为基准)在前端开发之前,视觉 MM 会给我们⼀个psd⽂件,称之为视觉稿。

对于移动端开发⽽⾔,为了做到页⾯⾼清的效果,视觉稿的规范往往会遵循以下两点:1)⾸先,选取⼀款⼿机的屏幕宽⾼作为基准(以前是 iPhone4 的 320×480,现在更多的是 iphone6的 375×667)。

2)对于 retina 屏幕(如: dpr=2),为了达到⾼清效果,视觉稿的画布⼤⼩会是基准的 2 倍,也就是说像素点个数是原来的 4 倍(对iphone6 ⽽⾔:原先的 375×667,就会变成 750×1334)。

问题:对于 dpr=2 的⼿机,为什么画布⼤⼩×2,就可以解决⾼清问题?对于 2 倍⼤⼩的视觉稿,在具体的 css 编码中如何还原每⼀个区块的真实宽⾼(也就是布局问题)?标注稿移动端尺⼨物理像素(physical pixel)⼀个物理像素是显⽰器(⼿机屏幕)上最⼩的物理显⽰单元,在操作系统的调度下,每⼀个设备像素都有⾃⼰的颜⾊值和亮度值。

设备独⽴像素(density-independent pixel)设备独⽴像素(也叫密度⽆关像素),可以认为是计算机坐标系统中得⼀个点,这个点代表⼀个可以由程序使⽤的虚拟像素(⽐如:css 像素),然后由相关系统转换为物理像素。

设备像素⽐(device pixel ratio)设备像素⽐(简称 dpr)定义了物理像素和设备独⽴像素的对应关系,它的值可以按如下的公式的得到:设备像素⽐ = 物理像素 / 设备独⽴像素 // 在某⼀⽅向上,x ⽅向或者 y ⽅向。

在 Javascript 中,可以通过 window.devicePixelRatio 获取到当前设备的 dpr。

在 css 中,可以通过-webkit-device-pixel-ratio,-webkit-min-device-pixel-ratio和 -webkit-max-device-pixel-ratio 进⾏媒体查询,对不同 dpr 的设备,做⼀些样式适配(这⾥只针对 webkit 内核的浏览器和 webview)。

黑马程序员Python教程:移动端页面适配四大方式

黑马程序员Python教程:移动端页面适配四大方式

移动端页面适配四大方式前端在制作移动端页面时,会碰到适配各种手机屏幕的问题,而且还包括平板电脑,这么多种分辨率的屏幕,如何做到适配呢?本文总结了四种方式。

一、流体布局所谓的流体布局,就是用百分比来定义宽度,最外层容器的宽度设置为100%,就可以适配不同的屏幕,子元素按照比例来设置百分比,子元素整体的百分比之和就是100%,但是如果有子元素设置了边框,或者padding,那么整体的宽度就会大于100%,这时,我们可以将盒子的尺寸计算方式设置为从边框计算,通过设置:box-sizing:border-box,此时,盒子设置的宽度就是盒子的实际宽度,就没有这个问题了。

宽度解决了,高度如何设置呢?一般的元素,高度可以固定不变,所以在屏幕变化时,我们可以看到元素的宽度变了,高度不变,但是对于图片,如果高度不同,图片就会被拉扁,此时我们可以将图片的宽度设为100%;它的宽度就由它的父级的宽度决定,图片的高度不设置,图片就会按照宽度变化等比例放大或缩小,这是图片的特性,这样就可以做到图片的适配了。

流体布局的伪代码如下:*{ box-sizing:border-box }.wrap{ overflow:hidden }.banner{overflow:hidden}.banner img{ width:100% }.l_con{width:33.333333%; height:50px;float:left;}.c_con{width:33.333333%; height:50px;float:left;}.r_con{width:33.333333%; height:50px;float:left;}二、响应式布局响应式布局,就是使用媒体查询的方式,针对不同的屏幕,对应不同的样式,但是移动端的屏幕很多种,如果要对应这么多套不同的样式,这样做也不现实,所以针对移动端,可以划分出三个屏幕宽度范围,在范围之内的,就使用同一套样式,这样定义三套样式就可以了,宽度的区间可以参照苹果手机的分辨率:374px 以下为第一个区间,375px 到413px 为第二个区间,414px 以上为第三个区间,按照这个三个区间定义三套样式,在苹果手机上可以做到很好的适配,但对于一些其他分辨率的手机,可能会有一些不太适配的细节,但是这三套,应该基本上是适用了。

模板匹配算法

模板匹配算法

模板匹配算法首先,模板匹配算法的基本原理是通过计算给定图像与模板图像之间的相似度来实现匹配。

在实际应用中,通常采用的是灰度图像,因为灰度图像只有一个通道,计算起来相对简单。

常用的相似度计算方法有平方差匹配、相关性匹配和归一化互相关匹配等。

其中,平方差匹配是最简单的一种方法,它通过计算两幅图像对应像素之间的差的平方和来得到相似度。

相关性匹配则是通过计算两幅图像的亮度之间的相关性来得到相似度。

而归一化互相关匹配则是将两幅图像进行归一化后再进行相关性匹配,以消除亮度差异的影响。

这些方法各有优缺点,可以根据实际情况选择合适的方法。

其次,常用的模板匹配算法有暴力匹配、快速匹配和优化匹配等。

暴力匹配是最简单的一种方法,它通过遍历给定图像的每一个像素来计算相似度,然后找到最相似的部分。

虽然暴力匹配的计算量大,但是它的原理简单,容易实现。

快速匹配则是通过一些优化的数据结构和算法来加速匹配过程,例如使用积分图像和积分图像模板来实现快速匹配。

而优化匹配则是通过一些启发式方法和优化算法来进一步提高匹配的准确度和速度。

这些算法各有特点,可以根据实际需求选择合适的算法。

最后,模板匹配算法在实际应用中有着广泛的应用。

例如在人脸识别、指纹识别、车牌识别和医学图像处理等领域都有着重要的应用。

在人脸识别中,可以通过模板匹配算法来实现人脸的定位和识别。

在指纹识别中,可以通过模板匹配算法来实现指纹的匹配和比对。

在车牌识别中,可以通过模板匹配算法来实现车牌的定位和识别。

在医学图像处理中,可以通过模板匹配算法来实现病灶的定位和识别。

这些应用都充分展示了模板匹配算法在实际中的重要性和价值。

综上所述,模板匹配算法是一种常用的图像处理和模式识别技术,它通过计算给定图像与模板图像之间的相似度来实现匹配。

常用的相似度计算方法有平方差匹配、相关性匹配和归一化互相关匹配等。

常用的模板匹配算法有暴力匹配、快速匹配和优化匹配等。

模板匹配算法在实际应用中有着广泛的应用,包括人脸识别、指纹识别、车牌识别和医学图像处理等领域。

模板匹配的步骤

模板匹配的步骤

模板匹配的步骤
模板匹配是一种在图像中寻找与给定模板最相似的区域的方法,常用于对象检测、图像识别等领域。

以下是模板匹配的基本步骤:
1. 准备模板:首先,需要一个已知的模板图像,它代表了我们希望在目标图像中找到的对象。

2. 读取目标图像:然后,我们需要一个目标图像,这是我们将在其中寻找模板的图像。

3. 模板匹配:使用模板匹配算法,将模板图像与目标图像中的每一个可能的位置进行比较,以确定它们之间的相似度。

4. 找出最佳匹配位置:根据比较结果,找出模板图像与目标图像中最相似的位置,这个位置就是模板在目标图像中的最佳匹配位置。

5. 标记或提取匹配区域:最后,可以在目标图像中标记出最佳匹配位置,或者直接提取出这个区域。

以上就是模板匹配的基本步骤,具体实现时可能会有所不同,例如使用的模板匹配算法、如何处理图像等都会影响到最终的结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Keywords
Mobile Webpage Adaptation, Style Template, Page Block Classification, Webpage Segmentation
移动网页模块化样式模板匹配方法
张胜男,吴嘉惟,牛连强,杨 坤
沈阳工业大学软件学院,辽宁 沈阳
收稿日期:2020年5月28日;录用日期:2020年6月5日;发布日期:2020年6月12日
本文提出了一种基于模块化样式模板匹配的混合式适配方法。该方法先将组成网页的页面块归结为 有限类型并建立样式模板库。在适配样式时,利用分割技术将网页分块,并映射到有限类型,再依据页 面块所属类型与对应类别的样式模板关联,进而完成各页面块乃至整个网页的适配。该方法能够简化样 式模板库的构造,提高效率,对结构复杂的页面也有更好的自适应性。
Computer Science and Application 计算机科学与应用, 2020, 10(6), 1234-1242 Published Online June 2020 in Hans. /journal/csa https:///10.12677/csa.2020.106127
现存的网页自动适配方法主要分为两类。样式模板适配法[3] [4]将整个网页看作一个不可分割的单 元,先对大量网页进行聚类,生成每一类网页对应的模板,构成模板库。在适配网页样式时,计算网页 的结构与库中模板的相似度,并选取相似度最高的模板作为该网页的样式模板。由于网页数量庞大,结 构复杂多变,这种针对完整网页设计的模板与待适配网页特性的吻合度低,且相似度计算开销大,难以 满足网页适配的实时性要求。
Open Access
1. 引言
移动互联网的快速发展使得手机、iPad 等成为人们从互联网获取信息的主要终端设备[1]。不过,现 存的网站大多是为大屏幕 PC 机设计的,并没有对移动端如手机进行适配,直接用手机浏览时用户体验 较差。通过页面转换技术重新优化布局页面,能使其在移动终端具有良好的展示,从而实现网页对移动 端的自动适配[2]。
Table 3. Feature attributes of page blocks as the judgment basis 表 3. 作为判断依据的页面块特征属性
属性名 图片平均大小
图片数量 链接数量 链接文本数量 非连接文本数量 中心相对横坐标 相对纵坐标
宽度 高度
特征量 x1 x2 x3 x4 x5 x6 x7 x8 x9
Table 2. Some common classes and ids 表 2. 部分常见的 class 和 id
class 或 id
代表的含义
#sidebar, #aside
侧边栏
#nav, #subnav, #menu, #submenu, #tool, #toolbar, #drop, #dorpmenu 工具条,导航,菜单
摘要
针对传统的基于模板的Web页面移动端适配方法中无法处理过于复杂的页面问题,本文提出了一种基于 模块化样式模板匹配的混合式适配方法。该方法首先对构成网页的页面块进行归类,并对每一类设计适 合在移动端浏览的样式,然后对网页分割后的页面块进行类型识别,最后将识别后的页面块与对应的模 块化样式相关联,进而完成页面转换。实验结果表明,本文方法仅需少量模板即可应对多种风格的页面, 并解决了因分割造成的页面样式的丢失问题。
2.4. 基于页面块属性值和包含关系的类别判断
组成网页的各个不同内容块的标签和内容往往差别很大。例如导航块就是由一个或多个短文本链接 列表组成的,网页的正文通常包含大量的文字,版权信息一般在页面底部等。因此本文利用这些不同页 面块的特征来判断页面块类别,将页面块的图片数量、链接数量等 9 个属性作为判断依据[9],其对应的 特征量和判定条件如表 3 和表 4 所示。其中,表 3 中中心相对横坐标代表的含义是页面块的中心坐标点 与页面垂直中线的距离。
Modular Style Template Matching Method for Mobile Webpages
Shengnan Zhang, Jiawei Wu, Lianqiang Niu, Kun Yang
School of Software, Shenyang University of Technology, Shenyang Liaoning
网页分割适配法[5] [6] [7]将网页分块后再进行移动端适配,在一定程度上避免了样式模板适配法的 缺陷。由于目前的多数网页均采取标签与样式分离的原则设计,其网页样式信息主要保存在外部 CSS 样 式表中,网页内部含有的样式信息很少,很容易造成分割后的页面样式信息丢失[8]。要使分割后的页面 块符合移动端设计要求,必须重新设计块的样式,如何有效处理这些样式是算法成功的关键。
DOI: 10.12677/csa.2020.106127
1235
计算机科学与应用
张胜男 等
进入下一步; Step3:判断页面块 ni 是否至少满足一个属性值和标签条件,如果包含,依据页面块的属性值和包含
的标签判断类别;否则,将页面块归为其他类别。
2.2. 基于 HTML5 中的语义化标签的类别判断
HTML5 引入了一批新的标签和属性,这些标签使得 HTML 在定义了网页结构的基础上还可以定义 网页的内容类型,使开发者构建网页更加便利且易于搜索引擎识别[9]。表 1 列出了 HTML5 引入的新的 语义化标签及其定义的内容区域描述,页面分类可以根据这些语义化标签直接判断页面块类型。例如, <nav>标签表示该区域是导航模块,包含<article>、<details>和<section>标签的页面块均可划分为正文类 页面块。若该页面块包含多个语义化标签,则以更靠近根节点的标签为准。
文章引用: 张胜男, 吴嘉惟, 牛连强, 杨坤. 移动网页模块化样式模板匹配方法[J]. 计算机科学与应用, 2020, 10(6): 1234-1242. DOI: 10.12677/csa.2020.106127
关键词
移动端网页适配,样式模板,页面块分类,网页分割
张胜男 等
Copyright © 2020 by author(s) and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY 4.0). /licenses/by/4.0/
当页面块的属性符合多个条件时,规定当前页面块的类别优先级由高到低依次为:图片链接列表→ 导航、非导航链接列表→页面主体→图片组→页脚、页头、侧边栏。
Table 4. Determination conditions of the page block type 表 4. 页面块类型判定条件
属性值条件 x7 < 20% & x8/x9 > 2
链接列表 其他相关链接 版权信息,法律声明等 页脚部分 页面主体,正文 页眉部分
单位 像素 个 个 字节 字节 百分比 百分比 像素 像素
以导航块的判定条件为例,表 4 的判定条件意味着当页面块中链接数量大于等于 3 个且平均链接文 本长度小于 12 字节,而且页面块的 HTML 代码包含<ul><li><a>的结构时,就判定该页块为导航类。
DOI: 10.12677/csa.2020.106127
1236
计算机科学与应用
张胜男 等
Continued #list, #news #friendlink, #joinus, #partner #copyright, #siteinfo, #siteinfoLegal, #siteinfoCredits #foot, #footer #main, #article, #details #head, #header, #banner
Table 1. New semantic tags introduced by HTML5 表 1. HTML5 引入的新的语义化标签
标签 <article> <aside> <details> <footer> <header>
<nav> <section>
描述 定义页面独立的内容区域。
定义页面的侧边栏内容。 用于描述文档或文档某部分的细节。
Received: May 28th, 2020; accepted: Jun. 5th, 2020; published: Jun. 12th, 2020
Abstract
Aiming at the problem that the traditional template-based methods for webpage mobile adaptation cannot deal with too complex pages, this paper proposes a new hybrid matching method based on modular style templates. It first categorizes the page blocks that make up webpages, designs the styles suitable for browsing on the mobile terminal for each type of page blocks, then identifies the type of the page block after webpage segmentation, and finally associates the determined page blocks with the corresponding modular styles to complete the page conversion. Experimental results show that the presented method only needs a small number of templates to process different pages and solves the problem of page style loss caused by segmentation.
相关文档
最新文档