一种实现Qt预览大尺寸图片的方法、装置及相关组件制造方法及图纸

技术编号:34901123 阅读:57 留言:0更新日期:2022-09-10 14:06
本发明专利技术公开了一种实现QT预览大尺寸图片的方法、装置及相关组件。该方法包括加载图片文件数据至内存对象并执行网格处理步骤,得到多个子图片文件数据,并生成对应的项目对象;将所有项目对象加入视图场景中,并按照顺序进行排列;若接收到输入的控制指令,则判断各项目对象是否在视图场景的显示区域内,若在,则判定当前项目对象为目标项目对象,并执行坐标转换步骤,以得到对应的屏幕显示区域,并基于屏幕显示区域进行图片显示。该方法能够快速把大分辨率的图片切割成小块的子图片文件数据,且利用Qt的视图场景框架有效的将大分辨率的图片文件数据切割成为小块的子图片文件数据并进行管理,从而实现大分辨率图片浏览的各项功能例如缩放、移动等。移动等。移动等。

【技术实现步骤摘要】
一种实现Qt预览大尺寸图片的方法、装置及相关组件


[0001]本专利技术涉及图像处理领域,尤其涉及一种实现QT预览大尺寸图片的方法、装置及相关组件。

技术介绍

[0002]目前预览图片是多媒体开发项目的常用功能,即加载图片后,用户可以在预览窗口中通过放大缩小,移动等操作来查看图片的细节,但是当预览尺寸很大的图片时,计算机内存将会占用非常大,比如10000*10000分辨率的图片内存占用390mb左右,15000*15000分辨率的图片内存占用大概是850mb左右,30000*30000分辨率的图片内存占用会达到3500mb左右。
[0003]由上述内容可知,现有的大分辨率图片在加载预览后会占用较大的内存。

技术实现思路

[0004]本专利技术的目的是提供一种实现QT预览大尺寸图片的方法、装置及相关组件,旨在解决现有大分辨率图片在加载预览后会占用较大的内存的问题。
[0005]为解决上述技术问题,本专利技术的目的是通过以下技术方案实现的:提供一种实现QT预览大尺寸图片的方法,其包括:
[0006]加载图片文件数据至内存对象;
[0007]对所述图片文件数据执行网格处理步骤,使所述图片文件数据被分割成多个子图片文件数据,并生成对应的项目对象;
[0008]将所有所述项目对象加入视图场景中,并按照顺序进行排列;
[0009]若接收到输入的控制指令,则判断各项目对象是否在所述视图场景的显示区域内,若当前项目对象在所述视图场景的显示区域内,则判定当前所述项目对象为目标项目对象,并对所述目标项目对象执行坐标转换步骤,以得到对应的屏幕显示区域,并基于所述屏幕显示区域进行图片显示。
[0010]另外,本专利技术要解决的技术问题是还在于提供一种实现QT预览大尺寸图片的装置,其包括:
[0011]加载单元,用于加载图片文件数据至内存对象;
[0012]网格处理单元,用于对所述图片文件数据执行网格处理步骤,使所述图片文件数据被分割成多个子图片文件数据,并生成对应的项目对象;
[0013]排序单元,用于将所有所述项目对象加入视图场景中,并按照顺序进行排列;
[0014]显示处理单元,用于若接收到输入的控制指令,则判断各项目对象是否在所述视图场景的显示区域内,若当前项目对象在所述视图场景的显示区域内,则判定当前所述项目对象为目标项目对象,并对所述目标项目对象执行坐标转换步骤,以得到对应的屏幕显示区域,并基于所述屏幕显示区域进行图片显示。
[0015]另外,本专利技术实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所
述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的实现QT预览大尺寸图片的方法。
[0016]另外,本专利技术实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的实现QT预览大尺寸图片的方法。
[0017]本专利技术实施例公开了一种实现QT预览大尺寸图片的方法、装置及相关组件,其中,方法包括:加载图片文件数据至内存对象;对所述图片文件数据执行网格处理步骤,使所述图片文件数据被分割成多个子图片文件数据,并生成对应的项目对象;将所有所述项目对象加入视图场景中,并按照顺序进行排列;若接收到输入的控制指令,则判断各项目对象是否在所述视图场景的显示区域内,若当前项目对象在所述视图场景的显示区域内,则判定当前所述项目对象为目标项目对象,并对所述目标项目对象执行坐标转换步骤,以得到对应的屏幕显示区域,并基于所述屏幕显示区域进行图片显示。该方法能够快速把大分辨率的图片切割成小块的子图片文件数据,且利用Qt的视图场景框架有效的将大分辨率的图片文件数据切割成为小块的子图片文件数据并进行管理,从而实现大分辨率图片浏览的各项功能例如缩放、移动等。
附图说明
[0018]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本专利技术实施例提供的实现QT预览大尺寸图片的方法的流程示意图;
[0020]图2为本专利技术实施例提供的实现QT预览大尺寸图片的装置的示意性框图;
[0021]图3为本专利技术实施例提供的计算机设备的示意性框图。
具体实施方式
[0022]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0023]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0024]还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0025]还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0026]需要补充的是:图形视图框架提供了一个基于图形项的模型视图编程方法,主要由场景、视图和图形项三部分组成,这三部分分别由QGraphicsScene、QGraphicsView和
QGraphicsItem这三个类来表示,其中,多个视图可以查看一个场景,场景中包含各种各样几何形状的图形项。
[0027]请参阅图1,图1为本专利技术实施例提供的实现QT预览大尺寸图片的方法的流程示意图;
[0028]如图1所示,该方法包括步骤S101~S105。
[0029]S101、加载图片文件数据至内存对象;
[0030]S102、对所述图片文件数据执行网格处理步骤,使所述图片文件数据被分割成多个子图片文件数据,并生成对应的项目对象;
[0031]S103、将所有所述项目对象加入视图场景中,并按照顺序进行排列;
[0032]S104、若接收到输入的控制指令,则判断各项目对象是否在所述视图场景的显示区域内,若当前项目对象在所述视图场景的显示区域内,则执行步骤S105;
[0033]S105、判定当前所述项目对象为目标项目对象,并对所述目标项目对象执行坐标转换步骤,以得到对应的屏幕显示区域,并进入下一步骤S106;
[0034]S106、基于所述屏幕显示区域进行图片显示。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现QT预览大尺寸图片的方法,其特征在于,包括:加载图片文件数据至内存对象;对所述图片文件数据执行网格处理步骤,使所述图片文件数据被分割成多个子图片文件数据,并生成对应的项目对象;将所有所述项目对象加入视图场景中,并按照顺序进行排列;若接收到输入的控制指令,则判断各项目对象是否在所述视图场景的显示区域内,若当前项目对象在所述视图场景的显示区域内,则判定当前所述项目对象为目标项目对象,并对所述目标项目对象执行坐标转换步骤,以得到对应的屏幕显示区域,并基于所述屏幕显示区域进行图片显示。2.根据权利要求1所述的实现QT预览大尺寸图片的方法,其特征在于,所述网格处理步骤包括:基于预设的切割大小规则,从所述图片文件数据中读取n*m尺寸的子图片文件数据,并将所有的所述子图片文件数据存储至哈希表;在所述哈希表对应的网格坐标下生成对应的项目对象;根据所述哈希表中的网格坐标,将各所述字图片文件数据与对应的所述项目对象进行关联。3.根据权利要求1所述的实现QT预览大尺寸图片的方法,其特征在于,所述若接收到输入的控制指令,则判断各项目对象是否在所述视图场景的显示区域内,包括:将各所述项目对象在图形坐标系下的图形坐标分别转换为在视图坐标系下的视图坐标;判断各所述项目对象的视图坐标是否在所述视图场景的显示区域内。4.根据权利要求3所述的实现QT预览大尺寸图片的方法,其特征在于,所述坐标转换步骤,包括:将各所述目标项目对象在所述视图坐标系下的视图坐标转换为在场景坐标系下的场景坐标,得到对应的屏幕显示区域。5.根据权利要求4所述的实现QT预览大尺寸图片的方法,其特征在于,所述基于所述屏幕显示区域进行图片显示,包括:根据所述屏幕显示区域,获取所述目标项目对象所关联的...

【专利技术属性】
技术研发人员:罗钟慧
申请(专利权)人:深圳软牛科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1