软件开发工具的图片压缩方法、装置、设备及存储介质与流程

文档序号:15636008发布日期:2018-10-12 21:29阅读:198来源:国知局

本发明涉及图片压缩技术领域,尤其涉及一种软件开发工具的图片压缩方法、装置、设备及存储介质。



背景技术:

现有技术中,在日常的软件开发中,除了要编写程序源代码之外,也经常会用到一些图片资源,为了使软件体积不至于因为使用图片而过分增大,一般需要控制图片的文件大小,为了解决这个问题就需要对图片进行压缩处理。

在进行压缩处理时,开发人员需要先找到要压缩的目标图片,打开独立的图片压缩软件或在线压缩平台,将目标图片导入图片压缩软件或在线压缩平台以进行压缩处理,最后将得到的目标压缩图片引入项目工程中。

但是,现有的图片压缩软件及在线压缩平台都是独立于软件开发工具的压缩工具,不能和软件开发工具集成使用,造成软件开发工具在软件开发过程中需要压缩图片时,需要暂停软件开发以进行图片的压缩。



技术实现要素:

本发明的主要目的在于提出一种软件开发工具的图片压缩方法、装置、设备及存储介质,其克服了因图片压缩工具不能和软件开发工具集成使用导致在软件开发过程中需要暂停软件开发以进行图片压缩的问题。

根据本发明的一个方面,提供了一种软件开发工具的图片压缩方法,所述软件开发工具嵌入有图片压缩插件,所述方法包括:

所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

可选的,所述图片压缩插件加载预设压缩算法数据之前,所述方法还包括:依据所述软件开发工具是否接入互联网以确定相应待加载的所述预设压缩算法。

可选的,所述预设压缩算法至少包括:pngquant算法,用于本地压缩所述目标图片;或,tinypng算法,用于在线压缩所述目标图片。

可选的,所述依据预设压缩算法数据对所述目标图片进行压缩之前,所述方法还包括:在所述预设压缩算法数据的种类为两种及以上的情况下,根据用户选择对已加载的所述预设压缩算法数据进行切换。

可选的,在依据预设压缩算法数据对所述目标图片进行压缩时,所述方法还包括:对图片压缩的进度进行展示。

可选的,所述预设图片添加模式包括:右键选择模式,用于在点击右键后展开的窗口或菜单中选择目标图片;或者,工具栏按钮选择模式,用于在点击该工具栏按钮后展开的窗口或菜单中选择目标图片。

可选的,所述插件还提供有:模式选择模块,用于根据接收到的用户指令进入所述右键选择模式或所述工具栏按钮选择模式。

根据本发明的第二个方面,提供了一种软件开发工具的图片压缩装置,所述软件开发工具嵌入有图片压缩插件,所述装置包括:加载模块,用于所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;压缩模块,用于依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

可选的,所述装置还包括:切换模块,用于在所述依据预设压缩算法数据对所述目标图片进行压缩之前,当所述预设压缩算法数据的种类为两种以上时,根据用户选择对已加载的所述预设压缩算法数据进行切换。

根据本发明的第三个方面,提供了一种电子设备,包括处理器和存储器;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的一种软件开发工具的图片压缩方法。

根据本发明的第四个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的一种软件开发工具的图片压缩方法。

本发明有益效果如下:本发明提供的一种软件开发工具的图片压缩方法、装置、设备及存储介质,通过嵌入的图片压缩插件,使得软件开发工具在软件开发的过程中需要应用图片时,只需通过该图片压缩插件即可自动实现直接对图片进行选择及压缩,以完成图片素材的添加,而不必暂停该软件开发过程,使得开发过程可以顺畅的完成。

附图说明

图1为本发明第一实施例软件开发工具的图片压缩方法的流程框图;

图2为本发明第二实施例软件开发工具的图片压缩方法的流程框图;

图3为本发明第三实施例软件开发工具的图片压缩方法的流程框图;

图4为本发明第四实施例软件开发工具的图片压缩方法的流程框图;

图5为现有技术中在软件开发时对目标图片进行应用的示意图;

图6为本发明第五实施例软件开发工具的图片压缩方法的原理框图(一);

图7为本发明第五实施例软件开发工具的图片压缩方法的原理框图(二);

图8为本发明第五实施例中通过右键选择模式选择目标图片时界面显示图;

图9为本发明第五实施例中通过工具栏按钮选择模式选择目标图片时的界面显示图;

图10为本发明第五实施例中多张目标图片的压缩进度的示意图;

图11为本发明第五实施例中预设压缩算法替换的示意图;

图12为本发明第六实施例软件开发工具的图片压缩装置的结构示意图。

本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

为了便于理解本发明实施例,下面通过几个具体实施例对本发明的实施过程进行详细的阐述。

本发明第一实施例提供一种软件开发工具的图片压缩方法,所述软件开发工具嵌入有图片压缩插件,所述方法包括:所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;依据预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

就此,若软件开发工具在软件开发的过程中需要应用图片素材时,只需通过该图片压缩插件即可自动实现直接对图片进行选择及压缩,而不必暂停该软件开发过程,使得开发过程可以顺畅的完成。

图1为本发明第一实施例软件开发工具的图片压缩方法的流程框图。根据图1所示,本发明第一实施例提供的一种软件开发工具的图片压缩方法,所述软件开发工具嵌入有图片压缩插件,所述方法包括:

s1:所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;

在本实施例中,预先在软件开发工具中嵌入图片压缩插件。在启动该软件开发工具时,该图片压缩插件加载预设压缩算法数据。若软件开发工具在软件开发过程中需要图片素材,只需在软件开发过程中进入所述图片压缩插件提供的预设图片添加模式,以完成目标图片的添加。其中,该完成添加的目标图片即为待压缩的图片。

其中,所述预设图片添加模式包括:右键选择模式,用于在点击右键后展开的窗口或菜单中选择目标图片;或者,工具栏按钮选择模式,用于在点击该工具栏按钮后展开的窗口或菜单中选择目标图片。

就此,用户可以在选中任一目标图片后点击右键或直接在软件开发工具界面上直接点击右键,以在展开的窗口和菜单中选择目标图片。当然,也可以通过点击软件开发工具界面上的工具栏按钮,以在展开的窗口或菜单中选择目标图片。

可选的,所述插件还提供有:模式选择模块,用于根据接收到的用户指令进入所述右键选择模式或所述工具栏按钮选择模式。

s2:依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

在完成目标图片的添加后,通过该图片压缩插件调用已加载的预设压缩算法数据,在软件开发过程中对添加后的目标图片进行压缩,完成后即可得到目标压缩图片。

此外,在完成目标图片的压缩以得到目标压缩图片后,输出提示消息,该提示消息用于记录压缩过程并提示用户。优化的,保存该目标压缩图片,并将该图片保存以留用。进一步的,将该目标压缩图片自动替换压缩前的目标图片,当然,如果对目标图片的压缩失败,则不进行替换步骤,而且,也发出相关提示信息。

就此,若软件开发工具在软件开发的过程中需要应用图片素材时,只需通过该图片压缩插件即可自动实现直接对图片进行选择及压缩,而不必暂停该软件开发过程,使得开发过程可以顺畅的完成。

图2为本发明第二实施例软件开发工具的图片压缩方法的流程框图。根据图2所示,本发明第二实施例提供的一种软件开发工具的图片压缩方法,所述软件开发工具嵌入有图片压缩插件,所述方法包括:

s1:所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;

s2:依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

此外,为使得本实施提供的技术方案可以在联网状态以及断网状态下都可以实现在软件开发过程中完成图片素材的添加。

所以,在本实施例中,于上述步骤s1之前,还包括以下步骤:

s11:依据所述软件开发工具是否接入互联网以确定相应待加载的所述预设压缩算法数据。

即在启动软件开发工具时,可以依据软件开发工具是否接入互联网确定其待加载的预设压缩算法数据。

具体的,在本实施例中,示范性的设置预设压缩算法数据至少包括:pngquant算法以及tinypng算法。其中,pngquant算法用于本地压缩所述目标图片;或,tinypng算法用于在线压缩所述目标图片。此外,在本实施例中,并不对该预设压缩算法数据的种类及数量进行限定,而且,只需其满足本发明的要求即可。

就此,在软件开发工具启动时,若检测到软件开发工具处于联网状态,则加载该tinypng算法,否则,则加载该pngquant算法。从而,不仅可以在联网状态以及断网状态下都可以实现在软件开发过程中完成图片素材的添加,而且,可以根据软件开发工具是否联网自动进行预设压缩算法数据的切换,减小了开发人员的工作量。

图3为本发明第三实施例软件开发工具的图片压缩方法的流程框图。根据图3所示,本发明第三实施例提供的一种软件开发工具的图片压缩方法,所述软件开发工具嵌入有图片压缩插件,该方法包括:

s1:所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;

s2:依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

此外,在本实施例中,于上述步骤s1之前,还包括以下步骤:

s11:依据所述软件开发工具是否接入互联网以确定相应待加载的所述预设压缩算法数据。

此外,在通过已加载的预设压缩算法数据对目标图片进行压缩之前,为使得开发人员可以根据自己的习惯或其他的业务要求临时对预设压缩算法数据进行切换。

所以,在本实施例中,于上述步骤s2之前,还包括以下步骤:

s21:在所述预设压缩算法数据的种类为两种及以上的情况下,根据用户选择对已加载的所述预设压缩算法数据进行切换。

具体的,在加载预设压缩算法时,可以加载至少两种以上的预设压缩算法。即:在已加载的预设压缩算法数据包括两种以上时,用户可以对已加载的预设压缩算法数据进行切换。此外,用户可以通过设置,使得在软件开发工具启动时,无论软件开发工具是否处于联网状态,均可以加载所有的预设压缩算法,然后,在进行压缩之前,由用户进行预设压缩算法的选择切换。

图4为本发明第四实施例软件开发工具的图片压缩方法的流程框图。根据图4所示,本发明第四实施例提供的一种软件开发工具的图片压缩方法,所述软件开发工具嵌入有图片压缩插件,该方法包括:

s1:所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;

s2:依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

此外,在本实施例中,于上述步骤s1之前,还包括以下步骤:

s11:依据所述软件开发工具是否接入互联网以确定相应待加载的所述预设压缩算法数据。

此外,在本实施例中,于上述步骤s2之前,还包括以下步骤:

s21:在所述预设压缩算法数据的种类为两种及以上的情况下,根据用户选择对已加载的所述预设压缩算法数据进行切换。

此外,在方便用户及时了解目标图片的压缩进度,所以,进行上述步骤s2的同时,本实施例还包括以下步骤:对图片压缩的进度进行展示;即:上述步骤s2的一种实现方式为:

s22:依据预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片,对图片压缩的进度进行展示。

具体的,在本实施例中,可以通过进度标识表征目标图片的压缩进度,该进度标识可以包括进度条或百分数值。在本实施例中,并不对进度标识做出限定,只需其满足本实施例的要求即可。

为了更好说明本实施例所述方法的实施过程,下面结合一个具体应用示例,对所述方法进行说明。

具体的,本发明第五实施例提供的一种项目工程的图片压缩方法,所述项目工程中嵌入有图片压缩插件,该方法包括:

图5为现有技术中在软件开发时对目标图片进行应用的示意图;根据图5所示,在现有技术中,当进行软件开发时,如果需要用到新的图片素材,需要先找到要压缩的图片文件,然后,打开区别于独立的图片压缩工具,并向该图片压缩工具中导入要进行压缩处理的图片以得到压缩后的图片文件;该图片压缩工具加载有相应的压缩算法。最后将得到的压缩后的图片文件导入至该用于软件开发的项目工程内。其中,该项目工程即为上述的软件开发工具,而且,该项目工程示范性设置为intellijidea。

其中,该独立的图片压缩工具包括:在线压缩平台https://tinypng.com以及imaegeoptim等工具。但是,通过在线压缩平台的前提是必须链接互联网才能操作,并且免费压缩的图片次数也有限制。而且,该独立的图片压缩工具不可以用于intellijidea,即:不能和intellijidea集成使用,也就导致需要先暂停项目工程的开发过程,然后才能完成图片的压缩。而且,intellijidea不具备浏览器直接访问网页的能力,所以,导致现有的intellijidea不能在线压缩图片。

在本实施例中提供一种软件开发工具的图片压缩方法,具体的,开发人员基于项目工程平台进行图片压缩插件的开发,即开发人员基于intellijidea平台进行图片压缩插件的开发,使得开发出来的该图片压缩插件可以适用于intellijidea以及其他基于二次开发的工具,例如:androidstudio。

具体的,图6为本发明第五实施例一种软件开发工具的图片压缩方法的原理框图(一),图7为本发明第五实施例一种软件开发工具的图片压缩方法的原理框图(二)。

所以,根据图6及7可知,本实施例包括以下步骤:

1、启动intellijidea平台开始进行软件开发,并自动加载嵌入的该图片压缩插件;

2、如果intellijidea平台处于断网状态,则该图片压缩插件通过加载pngquant的静态库文件以加载pngquant算法;当然,如果intellijidea平台处于联网状态,则该图片压缩插件加载tinypng算法。优化的,在本实施例中,可以通过设置,同时加载tinypng算法以及pngquant算法;

3、进入相应的图片添加模式以完成图片添加及压缩。

具体的,(1)可以选择进入右键选择模式,以在点击右键后展开的窗口或菜单中选择目标图片;具体的,用户可以在选中任一目标图片后点击右键或直接在软件开发工具界面上直接点击右键,以在展开的窗口和菜单中选择目标图片。

具体的,图8为右键选择模式选择目标图片时界面显示图。所以,在项目工程内,右键点击任一目标图片,以弹出菜单选项,点击compressimage后,开始压缩图片,并显示显示压缩进度条,并在压缩完毕后自动关闭进度条,而且,还发送一个消息提示,具体如图8所示;此外,可以通过模式选择模块进入右键选择模式,具体的,开发人员设置了快捷键command+alt+p以进入右键选择模式,因此在图片添加时,可以免去右键点击等操作,直接按下快捷键组合按键,也可以启动相应的目标图片添加及压缩过程,并在批量压缩处理面板上展示压缩进度。

(2)也可以通过选择进入工具栏按钮选择模式,以在点击该工具栏按钮后展开的窗口或菜单中选择目标图片。

具体的,通过点击软件开发工具界面的工具栏按钮,以在展开的窗口或菜单中选择目标图片,然后判断是否只需要压缩一张目标图片,若是,则将该单张目标图片进行压缩处理,并通知压缩进度以及输出消息日志;否则,进行批量压缩并通过批量压缩面板展示压缩进度,当然,也会通知压缩进度以及输出消息日志,图10为多张目标图片的压缩进度的展示图,所以,批量压缩的进度情况如图10可示。

其中,图9为进入工具栏按钮选择模式选择目标图片时的界面显示图。根据图9所示,在实际的操作过程中,需要点击工具栏上的选择按钮,以在界面上打开一个树形文件选择器,供选择待添加的多张目标图片,在选择完毕后以表格展示待添加的目标图片,接着,该插件自动对目标图片进行压缩,压缩的进度显示情况如图10所示。当然,该工具栏按钮选择模式的操作也有对应的快捷键command+alt+b,因此也可以直接按下这个组合键,直接唤起树形文件选择器,进行相应操作即可。

而且,在本实施例中,压缩过程中以源图片为输入的数据,然后根据图片数据进行压缩,并将压缩得到的图片数据保存到一个临时文件,当整个操作都正常执行完毕后,会把源图片删除,同时把新建的压缩好的临时文件替换为和源图片名字和保存位置一模一样的文件。

此外,图11为预设压缩算法替换的示意图。用户在压缩之前,可以对压缩算法可以进行替换,其替换过程如图11所示。

图12为本发明第六实施例软件开发工具的图片压缩装置的结构示意图。根据图12所示,本发明第六实施例提供的一种软件开发工具的图片压缩装置,所述软件开发工具嵌入有图片压缩插件,该装置包括:

加载模块110,用于所述图片压缩插件加载预设压缩算法数据,并进入所述图片压缩插件提供的预设图片添加模式以添加目标图片;压缩模块111,用于依据所述预设压缩算法数据对所述目标图片进行压缩,得到目标压缩图片。

可选的,所述装置还包括:切换模块,用于在所述依据预设压缩算法数据对所述目标图片进行压缩之前,当所述预设压缩算法数据的种类为两种及以上时,根据用户选择对已加载的所述预设压缩算法数据进行切换。

可选的,所述装置还包括:确定模块,用于在所述图片压缩插件加载预设压缩算法数据之前,依据所述软件开发工具是否接入互联网以确定相应待加载的所述预设压缩算法。

可选的,所述预设压缩算法至少包括:pngquant算法,用于本地压缩所述目标图片;或,tinypng算法,用于在线压缩所述目标图片。

可选的,所述装置还包括:展示模块,用于在依据预设压缩算法数据对所述目标图片进行压缩时,对图片压缩的进度进行展示。

可选的,所述预设图片添加模式包括:右键选择模式,用于在点击右键后展开的窗口或菜单中选择目标图片;或者,工具栏按钮选择模式,用于在点击该工具栏按钮后展开的窗口或菜单中选择目标图片。

可选的,所述插件还提供有:模式选择模块,用于根据接收到的用户指令进入所述右键选择模式或所述工具栏按钮选择模式。

本发明第七实施例提供了一种电子设备,包括处理器和存储器;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的软件开发工具的图片压缩方法。

由于在第一至五实施例中已经对软件开发工具的图片压缩方法进行了详细说明,所以在本实施例中不对该方法的实施过程进行重复阐述。

本发明第八实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个模块,所述一个或者多个模块可被一个或者多个处理器执行,以实现上述的软件开发工具的图片压缩方法。

由于在第一至五实施例中已经对软件开发工具的图片压缩方法进行了详细说明,所以在本实施例中不对该方法的实施过程进行重复阐述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1