[发明专利]一种在视频监控设备上使用的矢量图形界面缩放方法有效
申请号: | 201710730718.X | 申请日: | 2017-08-23 |
公开(公告)号: | CN107479897B | 公开(公告)日: | 2018-03-27 |
发明(设计)人: | 胡江峰;吴水泉;姚顾肖;刘先明;李志洋;申雷;宋庆丰;杨亮亮;江发钦;邹小蓉 | 申请(专利权)人: | 珠海安联锐视科技股份有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 519085 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种在视频监控设备上使用的矢量图形界面缩放方法,包括FrameBuffer动态初始化、动态调整的消息通知及响应、文字大小的动态调整等步骤。通过本方法绘制的矢量图形界面可以通过调整参数对输出的界面大小进行无级缩放,从而做到在低分辨率和高分辨率下图形界面无变形无差异的显示效果,整个图形界面在切换了分辨率后能保持不变形,达到了矢量缩放的效果,而且能够很好的解决UI设计中尺寸定制困难的问题和分辨率兼容的问题。 | ||
搜索关键词: | 一种 视频 监控 设备 使用 矢量 图形界面 缩放 方法 | ||
【主权项】:
一种在视频监控设备上使用的矢量图形界面缩放方法,其特征在于,具体包括以下步骤:步骤1、FrameBuffer动态初始化:步骤11、关闭GUI输出,禁用绘图设备,解除掉已映射的FrameBuffer虚拟内存,关闭对FrameBuffer访问的文件描述符,释放掉绘图的后备缓冲;步骤12、通过ioctl()系统调用接口修改FrameBuffer的参数;步骤13、重新初始化GUI输出模块,重新打开FrameBuffer,通过ioctl()系统调用获取FrameBuffer的硬件参数,重新将FrameBuffer映射到虚拟地址空间并根据FrameBuffer新的分辨率再次创建绘图后备缓冲;步骤14、打开GUI输出,重绘整个FrameBuffer,还原出原始图像;步骤2、动态调整的消息通知及响应:步骤21、调整消息通知;当FrameBuffer动态初始化完成后立即通过图形界面系统中的消息发送接口向图形界面中的所有窗口和控件发送一条分辨率大小变化的消息;步骤22、对消息通知的响应;每个对象收到消息后,根据自身的特性来自动调整自身界面大小,其中,如果是GUI顶层管理对象UiManager,则其最先收到消息,UiManager会对矢量缩放相关的因子进行重新计算,并且会直接调整部分窗口和界面的大小,其它的对象参考UiManager新计算出的缩放因子调整自身界面大小;步骤3、文字大小的动态调整:步骤31、字模的生成;使用FreeType解析引擎,根据给定的unicode、字号、字体属性自动生成需要的字模;步骤32、字模的缓存;采用二级缓存并结合使用哈希表,通过使用读写锁来实现对多线程高效的并发访问,第一级缓存缓存的是具体字模地址,采用哈希表来实现,哈希表Key值按如下方式生成:UINT32 Key=FontAttr<<24|FontSize<<16|Unicode其中,FontAttr为字体属性,包括是否为斜体、是否为粗体,FontAttr=IsBold|(IsItalic<<1);IsBold和IsItalic字段为bool类型,FontSize为字号大小,取值范围为[1,255],Unicode为相应字的Unicode编码;当发现访问的Key不存在于哈希表中时即表明该字模没有解析过,随即调用FreeType引擎的字模解析生成字模,并申请必要的内存来存储字模,然后以访问的Key为哈希表的Key,以所申请的内存首地为值插入到哈希表中,每个字模都使用独立的引用计数,用来标识该字模此刻正在被使用的次数,并且在字模缓存中设置最大缓存的容量,当缓存的容量大于了限定的容量后,字模缓存模块会自动释放掉当前没有被使用的字模,并将其缓存地址从哈希表中移除;步骤33、文字大小调整;生成字模缓存后,图形界面在调整自身大小时根据UiManager提供的文字缩放因子来调整文字的大小。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海安联锐视科技股份有限公司,未经珠海安联锐视科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710730718.X/,转载请声明来源钻瓜专利网。