CN109859289A - 一种基于ios的gpu渲染视频标签添加方法 - Google Patents
一种基于ios的gpu渲染视频标签添加方法 Download PDFInfo
- Publication number
- CN109859289A CN109859289A CN201811496158.7A CN201811496158A CN109859289A CN 109859289 A CN109859289 A CN 109859289A CN 201811496158 A CN201811496158 A CN 201811496158A CN 109859289 A CN109859289 A CN 109859289A
- Authority
- CN
- China
- Prior art keywords
- label
- point
- click
- clicked
- judged
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供的这种基于IOS的GPU渲染视频标签添加方法,根据所需标签的形状得到对应的贝塞尔曲线,并由该贝塞尔曲线得到对应的CALayer,画布的图层layer上添加上述标签对应的CALayer,同一图层的标签根据标签对应的贝塞尔曲线判断所点击的点是否点击到上述标签,点击标签时对不同手势的区分,及GPU渲染标签,至少具有在不规则图形重叠时,准确响应用户的点击事件,减少CPU的消耗,减少系统卡顿,较准确得点击到重合的不规则标签的下层标签的问题。
Description
技术领域
本发明属于视频增强现实、视屏监控技术领域,具体涉及一种基于IOS 的GPU渲染视频标签添加方法。
背景技术
现有技术在视频上添加标签,使用的是不断在绘制视频的窗口上面叠加视图的方法。每添加一个标签就会添加一个新的视图,一个标签就是一个视图。当存在多个标签的时候,就会在标签的重叠地方产生重复绘制。每个标签都是一个独立的控件,可以接收单击、双击、长按事件。
由于每个标签都是一个独立的控件,也是一个独立的图层。所以当多个标签同时存在的时候,会造成视图的重复绘制,增加cpu的无效工作量,如图1所示。再者,现在大多数视频解码使用的是cpu软解码,然后绘制标签也是使用cpu进行渲染,容易用尽cpu的性能,造成性能瓶颈。最后,由于标签是一个独立控件,控件需要在矩形画布上绘制,当不规则的标签彼此覆盖的时候,如图2所示,标签4在标签3上面,点击标签4和标签3 重合的部分时候,我们想要得到的结果是点击到标签3,但该方法却只能点击到标签4。即在不规则图形重叠时,不能准确响应用户的点击事件,增加了CPU的消耗,造成卡顿现象。
发明内容
针对现有技术的缺点,本发明的目的在于提出一种基于IOS的GPU渲染视频标签添加方法,本发明欲解决的技术问题是:多标签刷新时候的性能瓶颈问题,无法较准确得点击到重合的不规则标签的下层标签的问题。为解决上述技术问题:
本发明提供了一种基于IOS的GPU渲染视频标签添加方法,其特征在于:包括如下步骤:
第一步,根据标签的形状得到对应的贝塞尔曲线,并由该贝塞尔曲线得到对应的CALayer;
第二步,重复所述第一步,得到所有所需标签对应的贝塞尔曲线和 CALayer,并由标签自身保存;
第三步,初始化一张画布,在所述画布的图层layer上添加上述标签对应的CALayer;
第四步,将添加完标签的所述画布的图层layer交由GPU渲染;
第五步,对上述标签添加点击功能,获取用户所点击的点,根据上述标签对应的贝塞尔曲线,判断所点击的点是否点击到上述标签;
第六步,添加点击手势的区分。
进一步地,在所述第五步中,所述判断所点击的点是否点击到上述标签,包括在同一图层的标签根据标签对应的贝塞尔曲线分区域,判断该点击的点是否在上述标签对应的贝塞尔曲线所围起来区域。
进一步地,在所述第五步中,若所述标签为直线形,在判断所点击的点是否点击到上述标签中,通过判断所点击的点到该直线的距离是否在一定数量的像素点以内,若是,则判断为用户所点击的点点击到该直线,若否,则判断为用户所点击的点未点击到该直线。
进一步地,在所述第五步中,若所述标签为三条线段组成的箭头,在判断所点击的点是否点击到上述标签中,通过判断所点击的点到该箭头的线段的垂点是否在该线段上,及所点击的点到该箭头的线段的距离是否在一定数量的像素点以内,若是,则判断为用户所点击的点点击到该箭头,若否,则判断为用户所点击的点未点击到该箭头。
进一步地,上述一定数量的像素点为5个像素点。
进一步地,在所述第六步中,所述点击手势的区分包括区分单击、双击和/或长按。
进一步地,当第一次点击时,记录当前点击的点和时间,并判断该点击持续是否经过一定的延时时间,如果是则判断为长按,并调用长按事件;当手指离开所点击的屏幕时,计算当前时间和所述第一次点击时的时间差,若该时间差在一定时间之内,则取消调用长按事件,并延时一定时间间隔调用单击事件。
进一步地,当在一定时间间隔内,若有相同的点被点击,则判断为双击,并停止延时调用单击事件。
进一步地,所述判断该点击持续是否经过一定的延时时间的延时时间为0.5S,所述时间差为0.5S,所述延时一定时间间隔调用单击事件中的时间间隔为0.25S,判断为双击的所述时间间隔为0.25S。
一种非易失性存储介质,其特征在于,包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现上述所述的方法。
与现有技术相比,本发明至少具有下述的有益效果或优点:
本发明提供的这种基于IOS的GPU渲染视频标签添加方法,同一图层的标签根据标签对应的贝塞尔曲线判断所点击的点是否点击到上述标签, 点击标签时不同手势的区分,及GPU渲染标签,至少具有在不规则图形重叠时,准确响应用户的点击事件,减少CPU的消耗,减少系统卡顿;克服了多标签刷新时候的性能瓶颈问题,较准确得点击到重合的不规则标签的下层标签的问题。
附图说明
以下将结合附图对本发明做进一步详细说明;
图1为现有技术中多个标签同时存在的时候的视图;
图2为现有技术不规则的标签彼此覆盖的时候的视图;
图3为本发明实施例添加标签后的示例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的在于提出一种基于IOS的GPU渲染视频标签添加方法,本发明欲解决的技术问题是:多标签刷新时候的性能瓶颈问题,无法较准确得点击到重合的不规则标签的下层标签的问题。为解决上述技术问题:
包括如下步骤:
第一步,根据标签的形状得到对应的贝塞尔曲线,并由该贝塞尔曲线得到对应的CALayer;
第二步,重复所述第一步,得到所有所需标签对应的贝塞尔曲线和CALayer,并由标签自身保存;
第三步,初始化一张画布,在所述画布的图层layer上按顺序添加上述标签对应的CALayer;
第四步,将添加完标签的所述画布的图层layer交由GPU渲染;
第五步,对上述标签添加点击功能,获取用户所点击的点,根据上述标签对应的贝塞尔曲线,判断所点击的点是否点击到上述标签;
另外,同一图层的标签根据标签对应的贝塞尔曲线区分区域。首先,当用户点击屏幕的时候,得到用户所点击的点。然后逐个标签判断,该点是否在该标签的贝塞尔曲线所围起来的范围里面。如果遇到直线和/或由三条线段组成的箭头等特殊图形,则分别判断点到直线的距离和/或判断点到该直线的垂点是不是在该线段上,如果点到直线和/或线段的距离在5个像素点以内和/或该点到该线段的垂点在该线段上,则判断用户点击到该线和 /或者该诸如箭头等特殊图形。
第六步,添加点击手势的区分;
具体还包括当第一次点击时候,记录下当前点击的点和时间,并延时一定时间(如0.5s)调用长按事件。当手指离开屏幕的时候,计算当前时间和第一次点击时间差,如果在长按事件的延时(如0.5s)之内,则取消延时调用长按事件,并延时一定时间间隔(如0.25s)调用单击事件。当在一定时间间隔内(如0.25s)有相同的点被点击,则判断为双击,并停止延时调用的单击事件。
一种非易失性存储介质,其特征在于,包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现上述所述的方法。
与现有技术相比,本发明至少具有下述的有益效果或优点:一图层的标签根据标签对应的贝塞尔曲线判断所点击的点是否点击到上述标签,点击标签时不同手势的区分,及GPU渲染标签,至少具有在不规则图形重叠时,准确响应用户的点击事件,减少CPU的消耗,减少系统卡顿;克服了多标签刷新时候的性能瓶颈问题,较准确得点击到重合的不规则标签的下层标签的问题。
以上例举仅仅是对本发明的举例说明,并不构成对本发明的保护范围的限制,凡是与本发明相同或相似的设计均属于本发明的保护范围之内。
Claims (10)
1.一种基于IOS的GPU渲染视频标签添加方法,其特征在于:包括如下步骤:
第一步,根据标签的形状得到对应的贝塞尔曲线,并由该贝塞尔曲线得到对应的CALayer;
第二步,重复所述第一步,得到所有所需标签对应的贝塞尔曲线和CALayer,并由标签自身保存;
第三步,初始化一张画布,在所述画布的图层layer上添加上述标签对应的CALayer;
第四步,将添加完标签的所述画布的图层layer交由GPU渲染;
第五步,对上述标签添加点击功能,获取用户所点击的点,根据上述标签对应的贝塞尔曲线,判断所点击的点是否点击到上述标签;
第六步,添加点击手势的区分。
2.根据权利要求1所述的方法,其特征在于:在所述第五步中,所述判断所点击的点是否点击到上述标签,包括在同一图层的标签根据标签对应的贝塞尔曲线分区域,判断该点击的点是否在上述标签对应的贝塞尔曲线所围起来区域。
3.根据权利要求1所述的方法,其特征在于:在所述第五步中,若所述标签为直线形,在判断所点击的点是否点击到上述标签中,通过判断所点击的点到该直线的距离是否在一定数量的像素点以内,若是,则判断为用户所点击的点点击到该直线,若否,则判断为用户所点击的点未点击到该直线。
4.根据权利要求1所述的方法,其特征在于:在所述第五步中,若所述标签为三条线段组成的箭头,在判断所点击的点是否点击到上述标签中,通过判断所点击的点到该箭头的线段的垂点是否在该线段上,及所点击的点到该箭头的线段的距离是否在一定数量的像素点以内,若是,则判断为用户所点击的点点击到该箭头,若否,则判断为用户所点击的点未点击到该箭头。
5.根据权利要求3-4任一项所述的方法,其特征在于:上述一定数量的像素点为5个像素点。
6.根据权利要求1所述的方法,其特征在于:在所述第六步中,所述点击手势的区分包括区分单击、双击和/或长按。
7.根据权利要求6所述的方法,其特征在于:当第一次点击时,记录当前点击的点和时间,并判断该点击持续是否经过一定的延时时间,如果是则判断为长按,并调用长按事件;当手指离开所点击的屏幕时,计算当前时间和所述第一次点击时的时间差,若该时间差在一定时间之内,则取消调用长按事件,并延时一定时间间隔调用单击事件。
8.根据权利要求7所述的方法,其特征在于:当在一定时间间隔内,若有相同的点被点击,则判断为双击,并停止延时调用单击事件。
9.根据权利要求8所述的方法,其特征在于:所述判断该点击持续是否经过一定的延时时间的延时时间为0.5S,所述时间差为0.5S,所述延时一定时间间隔调用单击事件中的时间间隔为0.25S,判断为双击的所述时间间隔为0.25S。
10.一种非易失性存储介质,其特征在于,包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现上述权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811496158.7A CN109859289B (zh) | 2018-12-07 | 2018-12-07 | 一种基于ios的gpu渲染视频标签添加方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811496158.7A CN109859289B (zh) | 2018-12-07 | 2018-12-07 | 一种基于ios的gpu渲染视频标签添加方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109859289A true CN109859289A (zh) | 2019-06-07 |
CN109859289B CN109859289B (zh) | 2023-06-27 |
Family
ID=66890750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811496158.7A Active CN109859289B (zh) | 2018-12-07 | 2018-12-07 | 一种基于ios的gpu渲染视频标签添加方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109859289B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868418A (zh) * | 2016-05-31 | 2016-08-17 | 北京奇艺世纪科技有限公司 | 一种视频显示方法及装置 |
CN107045447A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 一种数据对象的标签显示方法和装置 |
-
2018
- 2018-12-07 CN CN201811496158.7A patent/CN109859289B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107045447A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 一种数据对象的标签显示方法和装置 |
CN105868418A (zh) * | 2016-05-31 | 2016-08-17 | 北京奇艺世纪科技有限公司 | 一种视频显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109859289B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210011600A1 (en) | Content manipulation using swipe gesture recognition technology | |
US11055473B2 (en) | Dynamic message display method, server, and terminal | |
US6608615B1 (en) | Passive gaze-driven browsing | |
CN110134308A (zh) | 数据展示方法、装置、设备及计算机可读存储介质 | |
WO2021088422A1 (zh) | 应用消息的通知方法及装置 | |
CN105843516B (zh) | 一种用于在列表页面滚动过程中显示信息的方法及装置 | |
CN106055082A (zh) | 用于基于事件显示屏幕的装置和方法 | |
CN106020633A (zh) | 交互控制方法及装置 | |
US20180182172A1 (en) | Method and electronic device for managing display information in first immersive mode and second immersive mode | |
CN101930368B (zh) | 一种计算机屏幕截取方法及其系统 | |
CN108132727A (zh) | 基于触控平台的笔迹调整方法及装置 | |
CN109215037A (zh) | 目标图像分割方法、装置及终端设备 | |
GB2499879A (en) | Method of Locating a Mouse Pointer | |
CN108881629B (zh) | 通知消息的提示方法、装置、终端及存储介质 | |
CN107704155A (zh) | 应用程序图标的展示方法、装置、终端和存储介质 | |
CN105607800A (zh) | 一种终端屏幕输入显示的方法及装置 | |
CN107239222A (zh) | 一种触摸屏的操控方法及终端设备 | |
CN109358941A (zh) | 一种控制方法及电子设备 | |
CN108536361A (zh) | 触控操作的处理方法、装置、存储介质、处理器及终端 | |
CN104077036A (zh) | 一种分类导航的下拉菜单设计实现方法 | |
CN105446597B (zh) | 应用程序的功能介绍信息的展示方法、展示装置和终端 | |
CN109859289A (zh) | 一种基于ios的gpu渲染视频标签添加方法 | |
CN107908331A (zh) | 一种桌面图标的显示控制方法及电子设备 | |
CN102520964A (zh) | 客户端界面上的应用图标管理方法和装置 | |
TW201327466A (zh) | 圖像編輯系統及圖像編輯方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |