CN112000908A - 图片加载方法、装置、系统、电子设备及可读存储介质 - Google Patents
图片加载方法、装置、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112000908A CN112000908A CN202011168409.6A CN202011168409A CN112000908A CN 112000908 A CN112000908 A CN 112000908A CN 202011168409 A CN202011168409 A CN 202011168409A CN 112000908 A CN112000908 A CN 112000908A
- Authority
- CN
- China
- Prior art keywords
- picture
- target
- target picture
- fragment
- initial
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种图片加载方法、装置、系统、电子设备及可读存储介质,其中,上述图片加载方法包括:对目标图片进行切片得到多个初始图片分片;在接收到在目标显示区域显示目标图片的目标图片区域的操作指令的情况下,依据所述目标图片区域,从所述多个初始图片分片中确定出至少一个目标图片分片;对所述至少一个目标图片分片进行处理,得到缓存图片,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配;在所述目标显示区域加载所述缓存图片。本发明实施例能够有效避免因图片过大导致图片无法正常加载与显示的情况。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图片加载方法、装置、系统、电子设备及可读存储介质。
背景技术
众所周知,在将存储在硬盘上的图片文件显示在显示界面的过程中,通常需要先将图片文件加载并存入到缓存中,然后再将缓存中的图片文件绘制在显示界面中。当前,受到缓存技术发展的限制,缓存容量往往相对较小,而随着图像技术的发展,图片的大小日益增加;现有技术中,当图片过大时,可能因超过缓存容量而导致图片无法正常加载与显示。
发明内容
本发明实施例提供一种图片加载方法、装置、系统、电子设备及可读存储介质,以解决当图片过大时,可能因超过缓存容量而导致图片无法正常加载与显示的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种图片加载方法,包括:
对目标图片进行切片得到多个初始图片分片;
在接收到在目标显示区域显示所述目标图片的目标图片区域的操作指令的情况下,依据所述目标图片区域,从所述多个初始图片分片中确定出至少一个目标图片分片;所述至少一个目标图片分片与所述目标图片区域相匹配;
对所述至少一个目标图片分片进行处理,得到缓存图片,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配;
在所述目标显示区域加载所述缓存图片,以对所述目标图片区域进行显示。
第二方面,本发明实施例还提供了一种图片加载装置,包括:
切片模块,用于对目标图片进行切片得到多个初始图片分片;
确定模块,用于在接收到在目标显示区域显示所述目标图片的目标图片区域的操作指令的情况下,依据所述目标图片区域,从所述多个初始图片分片中确定出至少一个目标图片分片;所述至少一个目标图片分片与所述目标图片区域相匹配;
第一处理模块,用于对所述至少一个目标图片分片进行处理,得到缓存图片,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配;
加载模块,用于在所述目标显示区域加载所述缓存图片,以对所述目标图片区域进行显示。
第三方面,本发明实施例还提供了一种图片加载系统,包括加载控制模块、显示控制模块、存储磁盘、内存缓存以及显示器显存;
所述加载控制模块包括预加载单元、流式处理单元以及切片单元,其中:
所述预加载单元,用于预加载存储于所述存储磁盘中的目标图片,得到所述目标图片的文件头信息;
所述流式处理单元,用于依据所述文件头信息,对所述目标图片进行流式处理,得到多个图片数据流;
所述切片单元,用于针对每一所述图片数据流分别生成对应的初始图片分片,并将全部所述初始图片分片存储至所述存储磁盘;
所述显示控制模块,用于响应用于在目标显示区域显示目标图片的目标图片区域的操作指令,从所述目标图片对应的多个初始图片分片中确定出至少一个目标图片分片,将所述至少一个目标图片分片进行处理并存入所述内存缓存得到缓存图片,并将所述缓存图片加载至所述显示器显存,以在所述目标显示区域显示所述目标图片区域,其中,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配。
第四方面,本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
第五方面,本发明实施例还提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明实施例提供的图片加载方法中,对目标图片进行切片得到多个初始图片分片,在接收到在目标显示区域显示目标图片的目标图片区域的操作指令的情况下,可以根据目标图片区域从多个初始图片分片中确定出至少一个目标图片分片,通过对至少一个目标图片分片的处理,得到分辨率与目标显示区域的分辨率匹配的缓存图片,并在目标显示区域加载缓存图片以实现对目标图片区域的显示。本发明实施例在对目标图片区域进行显示的过程中,并非是直接对整张目标图片进行读取并加载至缓存中,而是针对目标图片区域选择大小相对较小的目标图片分片进行处理得到缓存图片,并进一步在目标显示区域中加载缓存图片,如此,降低了在图片加载过程中对缓存容量的需求,能够有效避免因图片过大导致图片无法正常加载与显示的情况。
附图说明
图1为本发明实施例提供的图片加载方法的流程图;
图2为本发明实施例中获得初始图片分片的过程的流程图;
图3为本发明提供的一具体应用场景中对目标图片进行切片的示意图;
图4为本发明实施例中确定目标图片分片的流程图;
图5为本发明实施例中获得缓存图片的流程图;
图6为本发明提供的场景一中图片加载过程的示意图;
图7为本发明提供的场景二中图片加载过程的示意图;
图8为本发明提供的场景三中图片加载过程的示意图;
图9为本发明实施例提供的图片加载装置的结构示意图;
图10为本发明实施例提供的图片加载系统的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
除非另作定义,本发明中使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
如图1所示,本发明实施例提供的图片加载方法,包括:
步骤101,对目标图片进行切片得到多个初始图片分片;
步骤102,在接收到在目标显示区域显示目标图片的目标图片区域的操作指令的情况下,依据目标图片区域,从多个初始图片分片中确定出至少一个目标图片分片;所述至少一个目标图片分片与所述目标图片区域相匹配;
步骤103,对至少一个目标图片分片进行处理,得到缓存图片,缓存图片的分辨率与目标显示区域的分辨率匹配;
步骤104,在目标显示区域加载缓存图片,以对所述目标图片区域进行显示。
本实施例中,对于操作指令,可以是基于用户对目标图片的打开操作而生成。
结合一实际应用场景,用户可以通过一图片浏览程序来打开某一图片,即上述的目标图片。容易理解的是,该图片浏览程序用于显示目标图片的运行界面,可以在相应的显示设备中全屏展示,也可以是局部屏展示;相应地,该运行界面在显示设备上会存在一目标显示区域,例如,当显示设备的分辨率为1920×1080,且上述运行界面是全屏展示时,目标显示区域的大小可以认为是1920×1080。
同样可以理解的是,用户可以在图片浏览程序的运行界面中,对目标图片进行显示内容的缩放或者移动,进而使得需要显示在运行界面中的目标图片的图片区域发生变化;例如,用于可以选择将目标图片全部展示,或者仅显示目标图片的左上角1/4的内容,或者仅显示目标图片的右下角1/8的内容等等。也就是说,操作指令可以用于控制具体显示目标图片的特定区域,即上述的目标图片区域。
通常情况下,目标图片是存储在存储介质上的,在接收到操作指令后,需要将目标图片区域显示在运行界面中,或者说,将目标图片区域加载至显示器显存中。为避免目标图片过大导致显示或加载过程无法进行,本实施例中,可以将目标图片预先分割存储为多个初始图片分片,也就是说,目标图片对应有多个初始图片分片。容易理解的是,每一初始图片分片的大小,往往是要低于整个目标图片的大小的。
当需要显示的目标图片区域确定后,实质上可以将目标图片区域对应的初始图片分片确定出来,即将上述的目标图片分片确定出来。这里的目标图片分片的数量,可以是一个,也可以是多个;例如,若需要显示的目标图片区域仅仅是目标图片中的很小的一部分,且该目标图片区域对应的内容全部包含在一个初始图片分片中时,确定的目标图片分片的数量可以是一个;相对地,若需要显示的目标图片区域在目标图片中占比很大时,可能对应了多个初始图片分片,确定的目标图片分片的数量可以为多个。
针对目标图片的目标图片区域进行加载的过程,可以理解成对上述目标图片分片的加载的过程;然而,在对目标图片分片加载的过程中,需要对目标图片分片进行进一步的处理。例如,目标图片分片的分辨率可能与目标显示区域的分辨率不匹配,此时可能需要对目标图片分片进行缩放处理,以调整其分辨率;再例如,当目标图片分片的数量为多个时,可能还需要对多个目标图片分片进行拼接处理等;当然,上述处理还可以是指裁剪处理等,可以根据实际需要进行选择具体的处理方式即可。
通过对上述至少一个目标图片分片进行处理,可以得到缓存图片,缓存图片的分辨率与目标显示区域的分辨率匹配;通常来讲,此处的匹配关系可以简单理解成分辨率相等,当然,在一些可行的实施方案中,此处的匹配关系也可以是指缓存图片的分辨率小于目标显示区域的分辨率,保证缓存图片能够被完整地加载在目标显示区域中即可。
当上述缓存图片在目标显示区域中加载后,可以认为目标图片的目标图片区域被显示在目标显示区域中。
本发明实施例提供的图片加载方法中,对目标图片进行切片得到多个初始图片分片,在接收到在目标显示区域显示目标图片的目标图片区域的操作指令的情况下,可以根据目标图片区域从多个初始图片分片中确定出至少一个目标图片分片,通过对至少一个目标图片分片的处理,得到分辨率与目标显示区域的分辨率匹配的缓存图片,并在目标显示区域加载缓存图片以实现对目标图片区域的显示。本发明实施例在对目标图片区域进行显示的过程中,并非是直接对整张目标图片进行读取并加载至缓存中,而是针对目标图片区域选择大小相对较小的目标图片分片进行处理得到缓存图片,并进一步在目标显示区域中加载缓存图片,如此,降低了在图片加载过程中对缓存容量的需求,能够有效避免因图片过大导致图片无法正常加载与显示的情况。
可选地,如图2所示,上述步骤101,对目标图片进行切片得到多个初始图片分片,具体包括:
步骤201,读取目标图片的文件头信息;
步骤202,依据文件头信息,按预设规则对目标图片进行流式处理,得到多个图片数据流;
步骤203,针对每一图片数据流分别生成对应的初始图片分片;
步骤204,存储全部初始图片分片。
本实施例可以理解为针对目标图片进行切片以得到初始图片分片的实现过程,以下针对本实施例进行具体的说明。
对于图片类型的文件,通常具有文件头信息,因此,针对目标图片,也可以读取其文件头信息,文件头信息一般包括了目标图片的宽度、高度以及颜色空间等相关信息。
在一实际应用场景中,读取文件头信息的具体过程可以是:先将目标图片当作纯二进制文件加载前面1KB数据段,依据目标图片的后缀名,对该目标图片的头部数据内容进行解析,可以得到包含目标图片的宽度、高度、颜色空间等信息在内的文件头信息。
通过对颜色空间的判断,可以计算出目标图片中的每一个像素点数据所占的数据程度。例如,通过对颜色空间的判断,得到目标图片的颜色空间的类型为RGB类型,具体存储格式为RGB888;也就是说,该目标图片是采用红(G)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,与此同时,一个像素点的三个颜色通道分别占用8bit,即一个像素点占3个字节。
在得知目标图片的宽度、高度以及颜色空间后,可以按照预设规则对目标图片进行流式处理。具体来说,假设目标图片的宽度×高度为19200×10800,而预设规则为预设流式处理的图片截取高度阈值和图片截取宽度阈值,两个阈值若均为400,则可以根据颜色空间,计算出各个400×400数据在目标图片中的位置,从目标图片从截取出多个图片数据流。
容易理解的是,图片数据流与图片本身可以是相互进行转化的,具有图片数据流可以进行组装得到初始图片分片。换而言之,以上流式处理的过程可以近似认为是对目标图片的切片过程。如上文,若目标图片的大小为19200×10800,基于上述图片截取高度阈值和图片截取宽度阈值进行流式处理,相当于需要将目标图片切割成400×400大小的初始图片分片,最终可以得到1296片初始图片分片,并将这些初始图片分片进行存储,以便后续进行读取、加载或处理等操作。图片分片的存储格式可以是JPG或者PNG等格式,此处不做具体限定。
为便于理解上述流式处理,或者说切片过程,以下结合一具体应用场景进行进一步说明。
如图3所示,图中示出了目标图片31与初始图片分片32,其中,目标图片31的A区域对应的是文件头信息,包括了目标图片的宽度、高度以及颜色空间等相关信息,B区域对应的是目标图片的RGB颜色数据,也就是用于表现目标图片的具体内容的数据;当然,值得强调的是,图中头文件信息与RGB颜色数据仅仅是一种示意,而并非是实际的数据存储或表达形式。
若需要将目标图片31切割成多个8×8的初始图片分片32,则可以将图片截取高度阈值和图片截取宽度阈值均设为8,在流式处理中,根据目标图片31的颜色空间,计算出各个8×8数据在目标图片中的位置,截取得到多个图片数据流,并基于图片数据流生成对应的初始图片分片。容易理解的是,初始图片分片也可以包括文件头信息和RGB颜色数据。
结合以上具体应用场景可见,本实施例可以准确高效地针对各种大小的目标图片进行切片,以得到相应的初始图片分片。
容易理解的是,针对一张目标图片的切片过程可以是一次性的,由于切片得到的初始图片分片可以进行存储,在后续的图片加载过程中,可以直接调用存储的初始图片分片即可,而无需重复切片过程,进而提高后续图片加载过程中的图片加载效率。
可选地,预设规则包括图片截取高度阈值与图片截取宽度阈值。
如上一实施例,通过设置图片截取高度阈值与图片截取宽度阈值,能够对最终得到的初始图片切片的大小进行控制,以便使得各初始图片切片尽可能保持大小一致,进而有助于减小后续对多个初始图片切片进行处理的难度。
容易理解的是,通过设置图片截取高度阈值与图片截取宽度阈值,可以使得初始图片切片的大小尽可能地保持一致,例如400×400,但是在一些应用场景下,可能通过对目标图片的主要区域进行切割后,剩余的区域可能不满足400×400的截取要求,例如剩余区域的像素为200×800,此时,截取高度阈值与图片截取宽度阈值也可以是分别用于控制初始图片切片的最大高度与最大宽度;具体来说,针对上述200×800的剩余区域,可以切割成两张大小为200×400的初始图片切片。
在一些可行的实施方式中,上述预设规则还可以是图片切片数量阈值等,也就是说,可以对目标图片进行切片得到的初始图片切片的最大数量或最小数量进行控制。
为便于从初始图片分片中确定出目标图片分片,本实施例中,每一初始图片分片均携带有分片位置信息;
同时,如图4所示,上述步骤102,依据目标图片区域,从多个初始图片分片中确定出至少一个目标图片分片,包括:
步骤401,依据目标图片区域在目标图片中的位置,确定目标位置信息;
步骤402,将携带的分片位置信息与目标位置信息匹配的初始图片分片确定为目标图片分片。
容易理解的是,在从目标图片中进行数据截取的过程中,可以同时针对截取的数据流在目标图片上的具体位置进行获取;换而言之,初始图片分片可以携带用于反映其在目标图片中的位置的分片位置信息。该分片位置信息可以写入在初始图片分片的文件头信息中,也可以体现在初始图片分片的存储文件名上,此处不做具体限定。
如上文,用户在打开目标图片后,可以选择其具体需要显示的图片区域,也就是确定上述目标图片区域。目标图片区域在目标图片中的位置,可以简单描述为目标图片区域是目标图片中的左上角1/4的内容,或者是目标图片中的右下角1/8的内容等。当然,在实际应用中,目标图片区域在目标图片中的位置,可以通过坐标等方式进行体现。
容易理解的是,当目标图片区域在目标图片中的位置确定的情况下,用于生成目标图片区域的初始图片分片也可以得到确定,其确定过程可以通过位置这一信息进行关联实现。
具体来说,目标位置信息可以是指以分片位置信息为元素的一个集合,可以从初始图片分片中,筛选出携带的分片位置信息位于目标位置信息对应的集合中的初始图片分片,作为目标图片分片,用于后续进一步生成上述目标图片区域。换而言之,上述分片位置信息与目标位置信息匹配,可以是指分片位置信息位于目标位置信息对应的集合中。
可选地,上述步骤204,存储全部初始图片分片,包括:
依据分片位置信息确定初始图片分片的存储文件名。
在一个示例中,对于某一初始图片分片,其分片位置信息可以表现为该初始图片分片在全部初始图片分片组成的阵列中的列序号与行序号,相应地,该初始分片的存储文件名可以表示为“列序号_行序号”,如此,在根据目标位置信息从初始图片分片中筛选出目标图片分片的过程中,直接读取初始图片分片的存储文件名,判断其存储文件名是否与目标位置信息匹配即可,有效提高目标图片分片确定过程的效率。
当然,在实际应用中,初始图片分片的存储文件名也可以是其他形式的,可以体现出初始图片分片的分片位置信息即可,此处不做具体限定。
可选地,如图5所示,上述步骤103,对至少一个目标图片分片进行处理,得到缓存图片,包括:
步骤501,根据目标显示区域的分辨率与目标图片分片的数量,确定目标分片分辨率;
步骤502,分别将每一目标图片分片的分辨率缩放至目标分片分辨率,得到缩放图片分片;
步骤503,依据缩放图片分片,得到缓存图片。
以目标显示区域的分辨率为1920×1080为例,若确定的目标图片分片的数量为324,则根据目标显示区域的分辨率与目标图片分片的数量,可以确定目标分片分辨率为80×80。
具体来说,若初始图片分片的宽高比是固定的,例如宽高比为1,为减轻对初始图片分片进行缩放时失真现象,可以将目标分片分辨率对应的宽高比定为1,则可以针对1920×1080/324进行开方运算,得到目标分片分辨率对应的宽与高为80。
设目标图片分片的分辨率为400×400,则可以将分辨率为400×400的目标图片分片缩放成分辨率为80×80的缩放图片分片。在实际应用中,当目标图片分片的数量为多个时,可以采用单线程或者多线程并发技术,对目标图片分片进行加载与缩放。
容易理解的是,通过对缩放图片分片进行处理便可以得到缓存图片,缓存图片的分辨率通常是与目标显示区域的分辨率相等的,例如,目标显示区域的分辨率为1920×1080时,缓存图片的分辨率也为1920×1080。
本实施例通过确定目标分片分辨率,可以在将各个目标图片分片进行缩放时,可以确定出合理的缩放比例,进而提高缩放效率;同时,还能使得得到的缓存图片的分辨率能够与目标显示区域的分辨率相匹配,提高后续图片的加载效果。
在一个示例中,根据目标显示区域的分辨率与目标图片分片的数量,确定目标分片分辨率的过程中,还可以进一步结合初始图片分片的宽高比来确定目标分片分辨率,使得目标分片分辨率对应的长宽比与初始图片分片的宽高比相等,如此可以减少在缩放过程中出现的失真现象。
当然,在实际应用中,在可以依据缩放图片分片得到缓存图片过程中,可能遇到一些场景,例如多个缩放图片分片的拼接、单张缩放图片分片的分辨率或者缩放图片分片拼接后的分辨率,与目标显示区域的分辨率不匹配等。以下针对这些场景进行说明。
在一个示例中,在缩放图片分片的数量为多个的情况下,依据缩放图片分片,得到缓存图片,包括:
依据每一缩放图片分片分别对应的目标图片分片的分片位置信息,对全部缩放图片分片进行拼接,得到缓存图片。
本示例中,依据目标图片分片的分片位置信息,对全部缩放图片分片进行拼接,有助于提高得到缓存图片的准确性,满足用户对目标图片区域的实际显示需求。
具体到实际应用场景中,可以采用三级缓存技术来实现上述图片加载方法的步骤,其中,一级缓存为显示界面(即对应显示器显存);二级缓存为内存中1920×1080的图片缓存区域用于绘制实际显示的(即对应内存缓存);三级缓存为磁盘中的初始图片切片文件(即对应磁盘存储)。
场景一:缩放图片,使目标图片的整个图片区域都显示(缩放的显示范围小于等于屏幕),针对该种场景,与计算实际显示的分辨率像素,如一般显示为1920×1080,那么目标图片整体正好全部显示或者显示图片小于全屏分辨率时,可以使用多线程并发技术,同时对目标图片切片进行加载并缩放。结合图6,若目标图片大小为19200×10800,按照400×400切成了1296片,此时在1920×1080的范围内显示,那么实际宽度和高度是40×40,那么加载目标图片分片时,将目标图片分片加载后进行缩放并存入缓存,缓存实际每张图片缓存是40×40像素的,每张图片都将实际分辨率对应到显示的分片显示到屏幕的实际分辨率,那么19200×10800的图片,全屏显示在1920×1080的显示器上,实际绘制40×40像素的缩放图片分片放到1920×1080的缓存区域上,共绘制1296片,等同于总共应用只绘制了1920×1080的像素(40×40×1296)缓存,然后将图片缓存区域一次性绘制到显示界面上,占用小内存,且刷新快。
场景二:缩放图片,使整个图片区域部分显示(缩放的显示范围大于屏幕,大于单张切片),针对该种场景,与计算实际显示的分辨率像素,如一般显示为1920×1080,那么目标图片整体假设正好显示1/4在全屏时,使用区域映射,实际显示为目标图片该1/4的区域,使用多线程并发技术,对该1/4区域对应的切片图片进行单个文件的分别加载并缩放。结合图7,若目标图片大小为19200×10800,按照400×400切成了1296片,此时在1920×1080的范围内显示1/4那么是1920×1080的范围显示1296/4片=324片,那么实际宽度和高度是80×80,那么加载目标图片分片时,将目标图片分片加载后进行缩放并存入缓存,缓存实际每张图片缓存是80×80像素的,每张图片都将实际分辨率对应到显示的分片显示到屏幕的实际分辨率,那么19200×10800的图片,1/4显示在1920×1080的显示器上,实际绘制80×80像素的缩放图片分片放到1920×1080的缓存区域上,共绘制1296/4=324片,等同于总共应用只绘制了1920×1080的像素(80×80×324)缓存,然后将图片缓存区域一次性绘制到显示界面上,占用小内存,且刷新快。
场景三:缩放图片,使整个图片区域小部分显示(放大的显示范围小于为切片的一张图片,如400×400的图片切片,放大为2000×2000),针对该种场景,与计算实际显示的分辨率像素,如一般显示为1920×1080,那么目标图片的经过缩放后的切片单片大于该范围时(类似于是放大图片),使用区域映射,实际显示为图片就超过了改显示器范围。可以使用多线程并发技术,对命中该区域的目标切片图片进行单个文件的加载并缩放。结合图8,如本来图片大小为19200×10800,按照400×400切成了1296片,此时在1920×1080的范围内显示不到一篇,那么是1920×1080的范围显示1片片,那么实际宽度和高度是2000×2000,那么加载该目标图片分片时,将目标图片分片加载后进行缩放并存入缓存,缓存实际每张图片缓存是2000×2000像素的并对显示区域进行截取,每张图片都将实际分辨率对应到显示的分片显示到屏幕的实际分辨率,那么19200×10800的图片,放大都小于切片显示在1920×1080的显示器上,实际绘制2000×2000像素的缩放图片分片放到1920×1080的缓存区域上(超出的丢弃),共绘制1片,等同于总共应用只绘制了1920×1080的像素(1920×1080×1)缓存,然后将图片缓存区域一次性绘制到显示界面上,占用小内存,且刷新快。
如图9所示,本发明实施例还提供了一种图片加载装置,包括:
切片模块901,用于对目标图片进行切片得到多个初始图片分片;
确定模块902,用于在接收到在目标显示区域显示目标图片的目标图片区域的操作指令的情况下,依据目标图片区域,从多个初始图片分片中确定出至少一个目标图片分片;至少一个目标图片分片与目标图片区域相匹配;
第一处理模块903,用于对至少一个目标图片分片进行处理,得到缓存图片,缓存图片的分辨率与目标显示区域的分辨率匹配;
加载模块904,用于在目标显示区域加载缓存图片,以对目标图片区域进行显示。
可选地,切片模块901具体包括:
读取模块,用于读取目标图片的文件头信息;
第二处理模块,用于依据文件头信息,按预设规则对目标图片进行流式处理,得到多个图片数据流;
生成模块,用于针对每一图片数据流分别生成对应的初始图片分片;
存储模块,用于存储全部初始图片分片。
可选地,预设规则包括图片截取高度阈值与图片截取宽度阈值。
可选地,每一初始图片分片均携带有分片位置信息;
确定模块902,包括:
第一确定单元,用于依据目标图片区域在目标图片中的位置,确定目标位置信息;
第二确定单元,用于将携带的分片位置信息与目标位置信息匹配的初始图片分片确定为目标图片分片。
可选地,存储模块还用于:
依据分片位置信息确定初始图片分片的存储文件名。
可选地,第一处理模块903,包括:
第三确定单元,用于根据目标显示区域的分辨率与目标图片分片的数量,确定目标分片分辨率;
缩放单元,用于分别将每一目标图片分片的分辨率缩放至目标分片分辨率,得到缩放图片分片;
获取单元,用于依据缩放图片分片,得到缓存图片。
可选地,获取单元,包括:
获取子单元,用于依据每一缩放图片分片分别对应的目标图片分片的分片位置信息,对全部缩放图片分片进行拼接,得到缓存图片。
需要说明的是,该图片加载装置是与上述图片加载方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图10所示,本发明实施例还提供了一种图片加载系统,包括加载控制模块1010、显示控制模块1020、存储磁盘1030、内存缓存1040以及显示器显存1050;
加载控制模块1010包括预加载单元1011、流式处理单元1012以及切片单元1013,其中:
预加载单元1011,用于预加载存储于存储磁盘1030中的目标图片,得到目标图片的文件头信息;
流式处理单元1012,用于依据文件头信息,对目标图片进行流式处理,得到多个图片数据流;
切片单元1013,用于针对每一图片数据流分别生成对应的初始图片分片,并将全部初始图片分片存储至存储磁盘1030;
显示控制模块1020,用于响应用于在目标显示区域显示目标图片的目标图片区域的操作指令,从目标图片对应的多个初始图片分片中确定出至少一个目标图片分片,将至少一个目标图片分片进行处理并存入内存缓存1040得到缓存图片,并将缓存图片加载至显示器显存1050,以在目标显示区域显示目标图片区域,其中,缓存图片的分辨率与目标显示区域的分辨率匹配。
本发明实施例中,加载控制模块1010能够对存储在存储磁盘1030中的目标图片预先进行切片得到多个初始图片分片,而显示控制模块1020则在接收到针对目标图片的目标图片内容进行显示的操作指令的情况下,基于存储磁盘1030、内存缓存1040以及显示器显存1050构成的三级缓存技术,将至少一个目标图片分片进行处理与逐级加载,降低了在图片加载过程中对缓存容量的需求,能够有效避免因图片过大导致图片无法正常加载与显示的情况。
可选地,本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的图片加载方法。
可选地,本发明实施例还提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的图片加载方法。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种图片加载方法,其特征在于,包括:
对目标图片进行切片得到多个初始图片分片;
在接收到在目标显示区域显示所述目标图片的目标图片区域的操作指令的情况下,依据所述目标图片区域,从所述多个初始图片分片中确定出至少一个目标图片分片;所述至少一个目标图片分片与所述目标图片区域相匹配;
对所述至少一个目标图片分片进行处理,得到缓存图片,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配;
在所述目标显示区域加载所述缓存图片,以对所述目标图片区域进行显示。
2.根据权利要求1所述的方法,其特征在于,所述对目标图片进行切片得到多个初始图片分片,包括:
读取所述目标图片的文件头信息;
依据所述文件头信息,按预设规则对所述目标图片进行流式处理,得到多个图片数据流;
针对每一所述图片数据流分别生成对应的初始图片分片;
存储全部所述初始图片分片。
3.根据权利要求2所述的方法,其特征在于,所述预设规则包括图片截取高度阈值与图片截取宽度阈值。
4.根据权利要求2所述的方法,其特征在于,每一所述初始图片分片均携带有分片位置信息;
所述依据所述目标图片区域,从所述多个初始图片分片中确定出至少一个目标图片分片,包括:
依据所述目标图片区域在所述目标图片中的位置,确定目标位置信息;
将携带的所述分片位置信息与所述目标位置信息匹配的所述初始图片分片确定为所述目标图片分片。
5.根据权利要求4所述的方法,其特征在于,所述存储全部所述初始图片分片,包括:
依据所述分片位置信息确定所述初始图片分片的存储文件名。
6.根据权利要求1所述的方法,其特征在于,所述对所述至少一个目标图片分片进行处理,得到缓存图片,包括:
根据所述目标显示区域的分辨率与所述目标图片分片的数量,确定目标分片分辨率;
分别将每一所述目标图片分片的分辨率缩放至所述目标分片分辨率,得到缩放图片分片;
依据所述缩放图片分片,得到所述缓存图片。
7.一种图片加载装置,其特征在于,包括:
切片模块,用于对目标图片进行切片得到多个初始图片分片;
确定模块,用于在接收到在目标显示区域显示所述目标图片的目标图片区域的操作指令的情况下,依据所述目标图片区域,从所述多个初始图片分片中确定出至少一个目标图片分片;所述至少一个目标图片分片与所述目标图片区域相匹配;
第一处理模块,用于对所述至少一个目标图片分片进行处理,得到缓存图片,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配;
加载模块,用于在所述目标显示区域加载所述缓存图片,以对所述目标图片区域进行显示。
8.一种图片加载系统,其特征在于,包括加载控制模块、显示控制模块、存储磁盘、内存缓存以及显示器显存;
所述加载控制模块包括预加载单元、流式处理单元以及切片单元,其中:
所述预加载单元,用于预加载存储于所述存储磁盘中的目标图片,得到所述目标图片的文件头信息;
所述流式处理单元,用于依据所述文件头信息,对所述目标图片进行流式处理,得到多个图片数据流;
所述切片单元,用于针对每一所述图片数据流分别生成对应的初始图片分片,并将全部所述初始图片分片存储至所述存储磁盘;
所述显示控制模块,用于响应用于在目标显示区域显示目标图片的目标图片区域的操作指令,从所述目标图片对应的多个初始图片分片中确定出至少一个目标图片分片,将所述至少一个目标图片分片进行处理并存入所述内存缓存得到缓存图片,并将所述缓存图片加载至所述显示器显存,以在所述目标显示区域显示所述目标图片区域,其中,所述缓存图片的分辨率与所述目标显示区域的分辨率匹配。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种可读存储介质,所述可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011168409.6A CN112000908A (zh) | 2020-10-28 | 2020-10-28 | 图片加载方法、装置、系统、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011168409.6A CN112000908A (zh) | 2020-10-28 | 2020-10-28 | 图片加载方法、装置、系统、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112000908A true CN112000908A (zh) | 2020-11-27 |
Family
ID=73474448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011168409.6A Pending CN112000908A (zh) | 2020-10-28 | 2020-10-28 | 图片加载方法、装置、系统、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000908A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113933842A (zh) * | 2021-12-21 | 2022-01-14 | 南京天朗防务科技有限公司 | Sar图像快速交互显示方法和电子装置 |
CN114003156A (zh) * | 2021-10-14 | 2022-02-01 | 深圳Tcl新技术有限公司 | 显示方法、装置、存储介质及电子设备 |
CN116257707A (zh) * | 2023-01-04 | 2023-06-13 | 腾讯科技(深圳)有限公司 | 一种应用发布方法、装置、电子设备及存储介质 |
CN114003156B (zh) * | 2021-10-14 | 2024-07-09 | 深圳Tcl新技术有限公司 | 显示方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299297A (zh) * | 2018-07-06 | 2019-02-01 | 平安科技(深圳)有限公司 | 一种图片缓存清理方法及终端设备 |
CN111599449A (zh) * | 2020-07-27 | 2020-08-28 | 平安国际智慧城市科技股份有限公司 | 电子图像的自动播放方法、装置、设备及存储介质 |
-
2020
- 2020-10-28 CN CN202011168409.6A patent/CN112000908A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299297A (zh) * | 2018-07-06 | 2019-02-01 | 平安科技(深圳)有限公司 | 一种图片缓存清理方法及终端设备 |
CN111599449A (zh) * | 2020-07-27 | 2020-08-28 | 平安国际智慧城市科技股份有限公司 | 电子图像的自动播放方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003156A (zh) * | 2021-10-14 | 2022-02-01 | 深圳Tcl新技术有限公司 | 显示方法、装置、存储介质及电子设备 |
CN114003156B (zh) * | 2021-10-14 | 2024-07-09 | 深圳Tcl新技术有限公司 | 显示方法、装置、存储介质及电子设备 |
CN113933842A (zh) * | 2021-12-21 | 2022-01-14 | 南京天朗防务科技有限公司 | Sar图像快速交互显示方法和电子装置 |
CN116257707A (zh) * | 2023-01-04 | 2023-06-13 | 腾讯科技(深圳)有限公司 | 一种应用发布方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4621733B2 (ja) | イメージを見てエンハンスする方法及びシステム | |
CN110377264B (zh) | 图层合成方法、装置、电子设备及存储介质 | |
US9491366B2 (en) | Electronic device and image composition method thereof | |
US9336567B2 (en) | Content-aware weighted image manipulations | |
KR101335900B1 (ko) | 종횡비 변환을 위한 영상 데이터의 가변 스케일링 | |
US8775953B2 (en) | Collage display of image projects | |
US9875519B2 (en) | Overlap aware reordering of rendering operations for efficiency | |
KR20150093592A (ko) | 디스플레이용 오버드라이브 프레임을 생성하는 방법 및 장치 | |
US8532435B1 (en) | System and method for automatically adapting images | |
US8913080B2 (en) | Partitioning high resolution images into sub-images for display | |
CN112000908A (zh) | 图片加载方法、装置、系统、电子设备及可读存储介质 | |
CN109389659B (zh) | Ppt中数学公式的渲染方法、装置、存储介质及终端设备 | |
US20170200253A1 (en) | Rendering Performance Using Dynamically Controlled Samples | |
US20120182321A1 (en) | Image converter, image conversion method, program and electronic equipment | |
US7852339B2 (en) | Video composition optimization by the identification of transparent and opaque regions | |
US20160093079A1 (en) | Enhanced document readability on devices | |
JP2008046608A (ja) | ビデオウィンドウ検出器 | |
US10311060B2 (en) | Glyph management in texture atlases | |
CN106940722B (zh) | 一种图片显示方法及装置 | |
US20090284526A1 (en) | Rendering multiple clear rectangles using a pre-rendered depth buffer | |
US20140198118A1 (en) | Image browsing method, system and computer storage medium | |
US20130083071A1 (en) | Image display apparatus, image display method and computer readable recording medium | |
US20140313231A1 (en) | System And Method For Graphics Upscaling | |
CN107506119B (zh) | 一种图片显示方法、装置、设备和存储介质 | |
US20080055286A1 (en) | Method And Apparatus For Displaying Bitmap Images |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201127 |