一种快速图片预览系统和方法

文档序号:6436513阅读:192来源:国知局
专利名称:一种快速图片预览系统和方法
技术领域
本发明涉及一种图片预览技术,更具体地说,涉及一种快速图片预览系统和方法。
技术背景
Qt是一个跨平台的C++图形用户界面应用程序框架,基于该应用框架能够开发出各种丰富的图形控件,进而能够结合C++开发出各种丰富的工具,实现各种功能。Qt提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。
Qt中的Qmap是目前支持矢量地图在互联网环境调用和显示速度最快的GIS引擎系统,超高速的图形数据解析技术可支持各种带宽下PC端和手机端的高速地图浏览和应用。与传统地理信息系统相比,Qmap实现了使用体验和开发方式的飞跃。
然而在一些传统的数据预览中,其每次处理某文件目录节点(又称树节点)中的图片时,特别是在恢复数据的扫描过程中点击某文件目录节点时,都需要重新解析该文件目录节点中的图片进行预览,导致预览速度慢。发明内容
本发明要解决的技术问题在于,针对现有的图形用户界面的图片预览速度慢的缺陷,提供一种快速图片预览系统和方法。
根据本发明第一方面,提供了一种快速图片预览系统,包括
预览启动模块,用于接收当前文件目录预览指令,发送当前文件目录中的图片指针列表;
信息存储模块,存储有全部文件目录在内存中已解析的图片指针与图片内存指针的映射表;
判断模块,用于根据所述图片指针列表与所述映射表,判断当前文件目录中的图片指针是否与所述映射表中的图片指针匹配,并从所述映射表中读取匹配的图片指针对应的图片内存指针发送给图片显示模块,将未匹配的图片指针发送给图片解析模块;
图片解析模块,用于根据所述未匹配的图片指针读取图片缓冲区数据至内存中, 将所述图片缓冲区数据解析成图片,并将其图片指针对应的图片内存指针发送给图片显示模块;
图片显示模块,用于根据接收的图片指针对应的图片内存指针从内存中读取图片数据显示至预览区域,并保存当前文件目录中的图片指针与图片内存指针至所述信息存储模块的映射表中。
在根据本发明第一方面所述的快速图片预览系统中,所述判断模块通过在所述映射表中进行遍历查找,将在所述映射表中查找到的当前文件目录中的图片指针作为匹配的图片指针,将在所述映射表中未查找到的图片指针作为未匹配的图片指针。
在根据本发明第一方面所述的快速图片预览系统中,所述判断模块进一步包括
历史解析判断单元,用于判断所述图片指针列表中是否存在至少一个图片指针与所述映射表中的图片指针匹配,在检测到存在匹配的图片指针时启动数量判断单元,否则将所述图片指针列表中全部图片指针作为未匹配的图片指针发送给所述图片解析模块;
数量判断单元,用于判断所述图片指针列表中的图片数量是否与所述映射表中保存的内存中已解析的当前文件目录的图片数量相同,是则确定所述图片指针列表中全部图片指针为匹配图片指针,并从所述映射表中读取全部图片指针对应的图片内存指针发送至所述图片显示模块,否则启动查找单元;
查找单元,用于在所述映射表中遍历查找,在所述图片指针列表中的图片指针与所述映射表中的图片指针相同时确定匹配,否则不匹配;并从所述映射表中读取匹配的图片指针对应的图片内存指针发送给所述图片显示模块,将未匹配的图片指针发送给所述图片解析模块。
在根据本发明第一方面所述的快速图片预览系统中,所述预览启动模块还接收预览区域设置,并根据该预览区域设置确定当前文件目录中待显示在预览区域内的图片,将这些图片的指针保存至当前文件目录中的图片指针列表发送给所述判断模块。
根据本发明第二方面,提供了一种快速图片预览方法,包括以下步骤
预览启动步骤,接收当前文件目录预览指令,发送当前文件目录中的图片指针列表;
判断步骤,根据所述当前文件目录中的图片指针列表,以及存储的全部文件目录在内存中已解析的图片指针与图片内存指针的映射表,判断当前文件目录中的图片指针是否与所述映射表中的图片指针匹配;并从所述映射表中读取匹配的图片指针对应的图片内存指针发送以执行图片显示步骤,将未匹配的图片指针发送以执行图片解析步骤;
图片解析步骤,根据所述未匹配的图片指针读取图片缓冲区数据至内存中,将所述图片缓冲区数据解析成图片,并将其图片指针对应的图片内存指针发送以执行图片显示步骤;
图片显示步骤,根据接收的图片指针对应的图片内存指针从内存中读取图片数据显示至预览区域,并保存当前文件目录中的图片指针与图片内存指针至所述映射表中。
在根据本发明第二方面所述的快速图片预览方法中,所述判断步骤通过在所述映射表中进行遍历查找,在当前文件目录中的图片指针与前次文件目录中的图片指针相同时确定匹配,否则不匹配。
在根据本发明第二方面所述的快速图片预览方法中,所述判断步骤进一步包括
历史解析判断步骤,判断所述图片指针列表中是否存在至少一个图片指针与所述映射表中的图片指针匹配,在检测到存在匹配的图片指针时则执行数量判断步骤,否则将所述图片指针列表中全部图片指针作为未匹配的图片指针发送以执行所述图片解析步骤;
数量判断步骤,判断所述图片指针列表中的图片数量是否与所述映射表中保存的内存中已解析的当前文件目录的图片数量相同,是则确定当前文件目录中全部图片指针为匹配图片指针,并从所述映射表中读取全部图片指针对应的图片内存指针发送以执行所述图片显示步骤,否则执行查找步骤;
查找步骤,在所述映射表中遍历查找,在所述图片指针列表中的图片指针与所述映射表中的图片指针相同时确定匹配,否则不匹配;并从映射表中读取匹配的图片指针对应的图片内存指针发送以执行所述图片显示步骤,将未匹配的图片指针发送以执行所述图片解析步骤。
在根据本发明第二方面所述的快速图片预览方法中,所述预览启动步骤中还接收预览区域设置,并根据该预览区域设置确定当前文件目录中待显示在预览区域内的图片, 将这些图片的指针保存至当前文件目录中的图片指针列表发送以执行所述判断步骤。
实施本发明的快速图片预览系统和方法,具有以下有益效果本发明在预览图片或者类似的数据解析访问过程中,判断待预览的图片是否已经在上次预览时被解析在内存中,从而直接调用该已解析的图片数据,并对未被解析的图片进行解析即可,该方法加快预览图片的处理速度,避免了重复的解析工作。


下面将结合附图及实施例对本发明作进一步说明,附图中
图1为根据本发明的快速图片预览系统第一实施例的模块示意图2为根据本发明的快速图片预览系统第二实施例的判断模块的具体结构示意图3为根据本发明的快速图片预览方法第一实施例的流程图4为根据本发明的快速图片预览方法第二实施例的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
请参阅图1,为根据本发明的快速图片预览系统第一实施例的模块示意图。如图1 所示,该实施例提供的快速图片预览系统包括预览启动模块10、信息存储模块20、判断模块30、图片解析模块40和图片显示模块50。
其中,预览启动模块10用于接收当前文件目录预览指令,发送当前文件目录中的图片指针列表。例如当用户需要预览某文件目录节点即树节点下的相关文件时,如图片和文档等。其中,文档可以在预览时可以以图片的形式出现,因此当前文件目录中的图片指针不仅包括图片文件的图片指针还包括文档文件的图片指针。本说明书中以文件为图片为例进行说明,本领域技术人员可以根据本发明的原理对包含文档的文件目录进行预览。当用户通过鼠标点击某一文件目录时,预览启动模块10接收到该当前文件目录预览指令,加载解析图片线程,发送被点击的文件目录中的图片指针列表,其包括了当前文件目录的相关信息。该当前文件目录中的图片指针列表至少包括当前文件目录中的各个子节点在图片缓冲区的图片指针。
信息存储模块20中存储有全部文件目录在内存中已解析的图片信息,也就是所有预览过的文件目录的相关信息。在每次预览时,系统根据文件目录中的图片指针从底层将图片缓冲区数据解析到了内存中,再利用该图片内存指针从内存中读取图片数据显示到预览区域中。在每次预览退出时,系统将所有文件目录中已被解析过的图片指针与图片内存指针保存至映射表中。
判断模块30,与预览启动模块10和信息存储模块20连接,用于接收预览启动模块10发送的当前文件目录中的图片指针列表,并从信息存储模块20中读取全部文件目录在内存中已解析的图片指针与图片内存指针的映射表,利用该图片指针列表与映射表,判断当前文件目录中的图片指针是否与所述映射表中的图片指针匹配。由此可以判断匹配的图片已经被解析在内存中,因而不再需要进行解析,而只需要解析未匹配的图片。在该实施例中,采用遍历查找的方式,在图片指针与图片内存指针的映射表中查找某一图片指针是否存在,将在所述映射表中查找到的当前文件目录中的图片指针作为匹配的图片指针,将在所述映射表中未查找到的图片指针作为未匹配的图片指针。判断模块30还可以采用其它本领域技术人员熟知并能应用的查找方式,判断映射表中是否存在当前文件目录中的图片指针。判断模块30从映射表中读取匹配的图片指针对应的图片内存指针发送给图片显示模块50以进行显示,并将未匹配的图片指针发送给图片解析模块40以进行解析。
图片解析模块40,与判断模块30相连,用于接收判断模块30发送的未匹配的图片指针,并根据每个图片指针解析图片,即从底层将每个图片缓冲区数据读取到内存中,将所述图片缓冲区数据解析成图片,并将每个图片指针对应的图片内存指针保存,并发送给图片显示模块50以进行显示。
图片显示模块50,与判断模块30、图片解析模块40和信息存储模块20相连,用于根据从判断模块30和图片解析模块40接收的图片指针对应的图片内存指针直接从内存中读取图片显示至缩略图预览区域中。图片显示模块50还保存当前文件目录中的图片指针与图片内存指针之间的对应关系至映射表中,并将该映射表存储到信息存储模块20中供下一次预览操作使用。
请参阅图2,为根据本发明的快速图片预览系统第二实施例的判断模块的具体结构示意图。如图2所示,第二实施例与第一实施例各个模块的结构和功能类似,区别仅在于,在该实施例中判断模块采用更加快速有效的方式进行判断,该判断模块30进一步包括历史解析判断单元31、数量判断单元32和查找单元33。
在第二实施例中,预览启动模块10发送的当前文件目录中的图片指针列表中包含有当前文件目录的图片数量的信息。图片数量可以由图片指针列表和映射表中图片指针的数量来确定。信息存储模块20中存储的全部文件目录在内存中已解析的图片指针与图片内存指针的映射表,其中可能包含有内存中已解析的当前文件目录的图片指针和图片数量。相应地,图片显示模块50在保存当前文件目录中的图片指针与图片内存指针之间对应关系至映射表中时,将当前文件目录的图片数量的信息一并得到保存。
如图2所示,历史解析判断单元31与预览启动模块10和信息存储模块20相连, 用于接收预览启动模块10发送的当前文件目录中的图片指针列表,并从信息存储模块20 读取上述映射表。随后,历史解析判断单元31读取图片指针列表中保存的当前文件目录的图片指针,并判断是否有至少一个图片指针在映射表中出现,在检测到有至少一个图片指针相同时则可判断当前文件目录曾被解析过,即内存中保存有已解析的图片数据,因此发送启动信号启动数量判断单元32进行解析数量的判断。当映射表中没有出现当前文件目录的任何一个图片指针时,则判断当前文件目录未被解析过,因此需要对全部的图片进行解析,将当前文件目录中全部图片指针作为未匹配的图片指针发送给所述图片解析模块40 以用于解析。
数量判断单元32,与历史解析判断单元31相连,用于在历史解析判断单元31发送启动信号启动后接收当前文件目录中的图片指针列表,以及所述映射表。图片指针列表和映射表可以从历史解析判断单元31接收,也可以直接从预览启动模块10和信息存储模块 20接收。随后,数量判断单元32识别图片指针列表中保存的当前文件目录的图片数量,并识别映射表中保存的内存中已解析的当前文件目录中的图片指针的数量,判断图片指针列表中的图片数量是否与映射表中已解析的当前文件目录的图片数量相同,相同则代表当前文件目录中各个图片均已在历史处理中得到解析,因此确定当前文件目录中全部图片指针为匹配图片指针,可以直接从所述映射表中读取全部图片指针对应的图片内存指针发送至图片显示模块50以进行显示,否则代表当前文件目录中存在未被解析的图片,需要启动查找单元33以确定哪些图片指针的图片未被解析。
查找单元33,与数量判断单元32相连,用于在数量判断单元32发送启动信号启动后接收当前文件目录中的图片指针列表,以及所述映射表。查找单元33可以从数量判断单元32接收图片指针列表和映射表,也可以直接从预览启动模块10和信息存储模块20接收。随后,查找单元33在所述映射表中遍历查找,在所述图片指针列表中的图片指针与所述映射表中的图片指针相同时确定匹配,否则不匹配;并从映射表中读取匹配的图片指针对应的图片内存指针发送给图片显示模块50以进行显示,将未匹配的图片指针发送给图片解析模块40以进行解析。
本发明另一个独特之处在于,还针对预览界面的设置对图片预览过程进行调整。 例如,在一个实施例中,预览启动模块10还接收预览区域设置,并根据该预览区域设置确定当前文件目录中待显示在预览区域内的图片。例如,当用户在软件左侧界面点击某一文件目录即树节点时,预览启动模块10根据软件右侧界面的预览区域大小,确定被点击的当前文件目录中将显示的图片的数量,并将这些图片的图片指针保存为当前文件目录中的图片指针列表发送给判断模块30。因此本发明提供的快速图片预览系统可以仅对需要预览的图片进行显示,从而在一定程度上减少内存消耗。当拖动滚动条后,预览区域设置发生改变,预览启动模块10重新根据该新的预览区域设置确定当前文件目录中待显示在预览区域内的图片,并重新将这些图片指针更新到当前文件目录中的图片指针列表发送给判断模块30,从而将其他图片显示在预览区域内。与传统的先对全部图片进行解析再根据预览区域设置进行显示的方法相比,本发明既加快预览速度又保证内存消耗低。
请参阅图3,为根据本发明的快速图片预览方法第一实施例的流程图。如图3所示,该实施例提供的快速图片预览方法包括以下步骤
首先,在步骤S301中,执行预览启动步骤,接收当前文件目录预览指令,发送当前文件目录中的图片指针列表。例如当用户需要预览某文件目录节点即树节点下的相关文件时,如图片和文档等。其中,文档可以在预览时可以以图片的形式出现,因此当前文件目录中的图片指针不仅包括图片文件的图片指针还包括文档文件的图片指针。本说明书中以文件为图片为例进行说明,本领域技术人员可以根据本发明的原理对包含文档的文件目录进行预览。当用户通过鼠标点击某一文件目录时,在步骤S301中接收到该当前文件目录预览指令,加载解析图片线程,发送被点击的文件目录中的图片指针列表,其包括了当前文件目录的相关信息。该当前文件目录中的图片指针列表至少包括当前文件目录中的各个子节点在图片缓冲区的图片指针。
随后,在步骤S302中,执行判断步骤,根据所述当前文件目录中的图片指针列表,8以及存储的全部文件目录在内存中已解析的图片指针与图片内存指针的映射表,判断当前文件目录中的图片指针是否与该映射表中的图片指针匹配。由此可以判断匹配的图片已经被解析在内存中,因而不再需要进行解析,而只需要解析未匹配的图片。在该实施例中,可以采用遍历查找的方式,在图片指针与图片内存指针的映射表中查找某一图片指针是否存在,将在所述映射表中查找到的当前文件目录中的图片指针作为匹配的图片指针,将在所述映射表中未查找到的图片指针作为未匹配的图片指针。判断步骤中还可以采用其它本领域技术人员熟知并能应用的查找方式,判断映射表中是否存在当前文件目录中的图片指针。匹配的图片指针则转步骤S303,否则转步骤S304。
在步骤S303中,从映射表中读取匹配的图片指针对应的图片内存指针发送,转步骤 S305。
在步骤S304中,将未匹配的图片指针发送并根据该未匹配的图片指针执行图片解析步骤。在该图片解析步骤中根据所述未匹配的图片指针读取图片缓冲区数据至内存中,将所述图片缓冲区数据解析成图片,并将其图片指针对应的图片内存指针发送给步骤 S305以执行图片显示步骤。
在步骤S305中,执行图片显示步骤,根据接收的图片指针对应的图片内存指针从内存中读取图片数据显示至缩略图预览区域中。
在步骤S306中,保存当前文件目录中的图片指针与图片内存指针之间的对应关系至映射表中,供下一次预览操作使用。
请参阅图4,为根据本发明的快速图片预览方法第二实施例的流程图。如图4所示,该实施例提供的快速图片预览方法包括以下步骤
首先,在步骤S401中,执行预览启动步骤,接收当前文件目录预览指令,发送当前文件目录中的图片指针列表。该步骤与第一实施例中步骤S301相同。
随后,从步骤S402开始执行判断步骤,本实施例通过分布对文件目录的历史解析情况和图片数量的判断确定图片是否已被解析。在步骤S402中,执行历史解析判断步骤, 读取所述图片指针列表中保存的图片指针,读取全部文件目录在内存中已解析的图片指针与图片内存指针的映射表,并判断图片指针列表中是否有至少一个图片指针在映射表中出现,在检测到有至少一个图片指针相同时则可判断当前文件目录曾被解析过,即内存中保存有已解析的图片数据,因此转步骤S404执行数量判断步骤,否则当映射表中没有出现当前文件目录的任何一个图片指针时,则判断当前文件目录未被解析过,因此需要对全部的图片进行解析,转步骤S403。
在步骤S403中,将当前文件目录中全部图片指针作为未匹配的图片指针发送以转步骤S408执行图片解析步骤。
在步骤S404中,执行数量判断步骤,识别图片指针列表中保存的当前文件目录的图片数量,并识别映射表中保存的内存中已解析的当前文件目录中的图片数量,判断上述两者的图片数量相同时,则转步骤S405,否则转步骤S406。
在步骤S405中,图片指针列表中的图片数量与映射表中已解析的当前文件目录的图片数量相同,代表当前文件目录中各个图片均已在历史处理中得到解析,因此确定当前文件目录中全部图片指针为匹配图片指针,可以直接从所述映射表中读取全部图片指针对应的图片内存指针发送以执行步骤S409进行显示。
在步骤S406中,图片指针列表中的图片数量与映射表中已解析的当前文件目录的图片数量不相同,代表当前文件目录中存在未被解析的图片需要执行查找步骤,根据图片指针列表在所述映射表中遍历查找,在所述图片指针列表中的图片指针与所述映射表中的图片指针相同时确定匹配,否则不匹配。判断匹配则执行步骤S407,不匹配则执行步骤 S408,直至每个图片指针判断完毕。
在步骤S407中,从映射表中读取匹配的图片指针对应的图片内存指针发送以转步骤S409执行图片显示步骤,否则将未匹配的图片指针发送以转步骤S408,执行图片解析步骤。
在步骤S408中,接收未匹配的图片指针,并根据每个图片指针解析图片,即从底层读取图片缓冲区数据至内存中,将所述图片缓冲区数据解析成图片,并将其图片指针对应的图片内存指针发送给步骤S409以执行图片显示步骤。该步骤与第一实施例中步骤 S304相同。
在步骤S409中,根据接收的图片指针对应的图片内存指针直接从内存中读取图片显示至缩略图预览区域中。该步骤与第一实施例中步骤S305相同。
在步骤S410中,保存当前文件目录中的图片指针与图片内存指针之间对应关系至映射表中,供下一次预览操作使用。该步骤与第一实施例中步骤S306相同。
下面以两个具体的实例来具体说明上述预览过程。其中文件目录采用树节点进行描述。
第一实例当前用户点击DirO树节点,系统判断DirO树节点中的每个图片指针是否在保存的映射表中,通过遍历实现,若在映射表中存在当前要解析的图片的指针,说明解析过,例如其中15个图片中有11个已经解析过,可以直接根据图片对应的图片内存指针从保存的内存地址中读取图片,而有4个没有解析过,需要根据图片指针从底层读取图片缓冲区数据至内存中,解析图片,解析成功,将图片显示在缩略图预览区域中,并将这些图片的图片指针和图片内存指针的对应关系保存至映射表中供下次使用。
第二实例当前用户点击DirO树节点,系统判断DirO树节点中的图片指针是否至少有一个在映射表中出现,当发现有一个出现过时立即进行数量判断,例如如上所述当前文件目录中具有15个图片,而映射表中保存的已解析的当前文件目录中的图片数量也未 15个,则证明当前文件目录中的图片均已被解析过,可以直接根据对应的图片内存指针从保存的内存地址中读取图片。如果当前文件目录中具有15个图片,而映射表中保存的已解析的当前文件目录中的图片数量仅有11个,则证明当前文件目录中的图片存在4个图片未被解析过,因此找出未被解析的图片指针,需要根据图片指针从底层读取图片缓冲区数据至内存中,解析图片,解析成功,将图片显示在缩略图预览区域中,并将这些图片的图片指针和图片内存指针的对应关系保存至映射表中供下次使用。
在该实施例中如果第一步判断时,系统判断出DirO树节点中的图片指针均未在映射表中出现,则可确定当前文件目录未在历史浏览过程中进行解析,因此,需要对全部15 个图片重新进行解析,即根据这15个图片指针从底层读取图片缓冲区数据至内存中,解析图片。
本发明另一个独特之处在于,还针对预览界面的设置对图片预览过程进行调整。 例如,在一个实施例中,步骤S301预览启动步骤中还接收预览区域设置,并根据该预览区域设置确定当前文件目录中待显示在预览区域内的图片。例如,当用户在软件左侧界面点击某一文件目录即树节点时,步骤S301预览启动步骤根据软件右侧界面的预览区域大小, 确定被点击的当前文件目录中将显示的图片的数量,并将这些图片的图片指针保存为当前文件目录中的图片指针列表发送给步骤S302执行判断步骤。因此本发明提供的快速图片预览方法可以仅对需要预览的图片进行显示,从而在一定程度上减少内存消耗。当拖动滚动条后,预览区域设置发生改变,步骤S301预览启动步骤重新根据该新的预览区域设置确定当前文件目录中待显示在预览区域内的图片,并重新将这些图片指针更新到当前文件目录中的图片指针列表发送给步骤S302执行判断步骤,从而将其他图片显示在预览区域内。 与传统的先对全部图片进行解析再根据预览区域设置进行显示的方法相比,本发明既加快预览速度又保证内存消耗低。
本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例, 而包括所有落入到权利要求保护范围的实施例。
权利要求
1.一种快速图片预览系统,其特征在于,包括预览启动模块,用于接收当前文件目录预览指令,发送当前文件目录中的图片指针列表;信息存储模块,存储有全部文件目录在内存中已解析的图片指针与图片内存指针的映射表;判断模块,用于根据所述图片指针列表与所述映射表,判断当前文件目录中的图片指针是否与所述映射表中的图片指针匹配,并从所述映射表中读取匹配的图片指针对应的图片内存指针发送给图片显示模块,将未匹配的图片指针发送给图片解析模块;图片解析模块,用于根据所述未匹配的图片指针读取图片缓冲区数据至内存中,将所述图片缓冲区数据解析成图片,并将其图片指针对应的图片内存指针发送给图片显示模块;图片显示模块,用于根据接收的图片指针对应的图片内存指针从内存中读取图片数据显示至预览区域,并保存当前文件目录中的图片指针与图片内存指针至所述信息存储模块的映射表中。
2.根据权利要求1所述的快速图片预览系统,其特征在于,所述判断模块通过在所述映射表中进行遍历查找,将在所述映射表中查找到的当前文件目录中的图片指针作为匹配的图片指针,将在所述映射表中未查找到的图片指针作为未匹配的图片指针。
3.根据权利要求1所述的快速图片预览系统,其特征在于,所述判断模块进一步包括历史解析判断单元,用于判断所述图片指针列表中是否存在至少一个图片指针与所述映射表中的图片指针匹配,在检测到存在匹配的图片指针时启动数量判断单元,否则将所述图片指针列表中全部图片指针作为未匹配的图片指针发送给所述图片解析模块;数量判断单元,用于判断所述图片指针列表中的图片数量是否与所述映射表中保存的内存中已解析的当前文件目录的图片数量相同,是则确定所述图片指针列表中全部图片指针为匹配图片指针,并从所述映射表中读取全部图片指针对应的图片内存指针发送至所述图片显示模块,否则启动查找单元;查找单元,用于在所述映射表中遍历查找,在所述图片指针列表中的图片指针与所述映射表中的图片指针相同时确定匹配,否则不匹配;并从所述映射表中读取匹配的图片指针对应的图片内存指针发送给所述图片显示模块,将未匹配的图片指针发送给所述图片解析模块。
4.根据权利要求1-3中任意一项所述的快速图片预览系统,其特征在于,所述预览启动模块还接收预览区域设置,并根据该预览区域设置确定当前文件目录中待显示在预览区域内的图片,将这些图片的指针保存至当前文件目录中的图片指针列表发送给所述判断模块。
5.一种快速图片预览方法,其特征在于,包括以下步骤预览启动步骤,接收当前文件目录预览指令,发送当前文件目录中的图片指针列表;判断步骤,根据所述当前文件目录中的图片指针列表,以及存储的全部文件目录在内存中已解析的图片指针与图片内存指针的映射表,判断当前文件目录中的图片指针是否与所述映射表中的图片指针匹配;并从所述映射表中读取匹配的图片指针对应的图片内存指针发送以执行图片显示步骤,将未匹配的图片指针发送以执行图片解析步骤;图片解析步骤,根据所述未匹配的图片指针读取图片缓冲区数据至内存中,将所述图片缓冲区数据解析成图片,并将其图片指针对应的图片内存指针发送以执行图片显示步骤;图片显示步骤,根据接收的图片指针对应的图片内存指针从内存中读取图片数据显示至预览区域,并保存当前文件目录中的图片指针与图片内存指针至所述映射表中。
6.根据权利要求5所述的快速图片预览方法,其特征在于,所述判断步骤通过在所述映射表中进行遍历查找,在当前文件目录中的图片指针与前次文件目录中的图片指针相同时确定匹配,否则不匹配。
7.根据权利要求5所述的快速图片预览方法,其特征在于,所述判断步骤进一步包括历史解析判断步骤,判断所述图片指针列表中是否存在至少一个图片指针与所述映射表中的图片指针匹配,在检测到存在匹配的图片指针时则执行数量判断步骤,否则将所述图片指针列表中全部图片指针作为未匹配的图片指针发送以执行所述图片解析步骤;数量判断步骤,判断所述图片指针列表中的图片数量是否与所述映射表中保存的内存中已解析的当前文件目录的图片数量相同,是则确定当前文件目录中全部图片指针为匹配图片指针,并从所述映射表中读取全部图片指针对应的图片内存指针发送以执行所述图片显示步骤,否则执行查找步骤;查找步骤,在所述映射表中遍历查找,在所述图片指针列表中的图片指针与所述映射表中的图片指针相同时确定匹配,否则不匹配;并从映射表中读取匹配的图片指针对应的图片内存指针发送以执行所述图片显示步骤,将未匹配的图片指针发送以执行所述图片解析步骤。
8.根据权利要求5-7中任意一项所述的快速图片预览方法,其特征在于,所述预览启动步骤中还接收预览区域设置,并根据该预览区域设置确定当前文件目录中待显示在预览区域内的图片,将这些图片的指针保存至当前文件目录中的图片指针列表发送以执行所述判断步骤。
全文摘要
本发明涉及一种快速图片预览系统和方法,该系统包括预览启动模块、信息存储模块、判断模块、图片解析模块和图片显示模块。其中,预览启动模块接收当前文件目录预览指令后发送当前文件目录中的图片指针列表;信息存储模块存储有全部文件目录在内存中已解析的图片指针与图片内存指针的映射表;判断模块根据图片指针列表与映射表,判断当前文件目录中的图片指针是否与映射表中的图片指针匹配,将匹配的图片指针对应的图片内存指针发给图片显示模块进行显示,将未匹配的图片指针发给图片解析模块解析后获得图片内存指针进行显示并保存。本发明在预览图片时直接调用该已解析的图片数据,并对未被解析的图片进行解析,加快了预览图片的处理速度。
文档编号G06F17/30GK102508892SQ20111032931
公开日2012年6月20日 申请日期2011年10月25日 优先权日2011年10月25日
发明者陆贵龙 申请人:深圳市万兴软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1