CN113791714A - 一种软件***图标库的方法 - Google Patents
一种软件***图标库的方法 Download PDFInfo
- Publication number
- CN113791714A CN113791714A CN202111073460.3A CN202111073460A CN113791714A CN 113791714 A CN113791714 A CN 113791714A CN 202111073460 A CN202111073460 A CN 202111073460A CN 113791714 A CN113791714 A CN 113791714A
- Authority
- CN
- China
- Prior art keywords
- icon
- icons
- file
- application system
- style
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件***图标库的方法,它涉及信息技术领域。将原始多张图标资源合并为一张大图,同时生成对应的层叠样式文件,建立模块用于图标的合并和层叠样式文件的处理工作,每次有新图标调整时,执行此模块,将新的图标合并到大图中并构建层叠样式文件,通过在应用***中使用一个预留入口结合浏览器的缓存机制缓存的方式,将用户上传图标引入应用***中。本发明在保证现有***各图标正常调用的前提下,通过统一规划管理由软件***对原始的零散图标进行归类整理,合并成统一的雪碧图,结合样式层叠文件对引用图标的定位通过样式名进行使用,提高图标制作和发布效率高,能同时兼容开发期和实施期图标扩展需求,应用前景广阔。
Description
技术领域
本发明涉及的是信息技术领域,具体涉及一种软件***图标库的方法。
背景技术
随着互联网的不断发展,社会的信息化建设越来越快速,支撑信息化建设的各种应用软件***也越来越多。每一个软件***中都会有各种分类的模块,有的按功能分模块,有的按业务分模块,还有的按照年度来区分各种模块,各种类型都有。为了便于应用***使用者能快速定位到自己当前需要使用的模块和功能,仅仅通过不同的菜单提供链接到不同功能或者模块的菜单查找方式显然是不够的。往往在应用软件***中,还会对各种功能和模块匹配一个与其指代内容相关的图形来帮助使用者对其进行区分和定位。人对图形的记忆相对于文字来说会更加的深刻,所以对各种需要区别的菜单配以其特有的图标在各个应用软件***中得到了广泛的使用。可是随着时间的推移,客户对应用***的需求越来越多,应用软件***的功能也越来越多,与之对应的菜单和功能页面中使用的各种图标也越来越多。
在应用***中的图标有标记操作的功能按钮图标、标记业务属性的业务类别图标、以及用于提供给用户区别各个***模块和菜单入口的菜单图标,除此外还有一些页面展现用的图标资源。这些图标在各个应用***中也几乎都是存在的,不同行业不同使用环境下这些图标都会有差异,甚至就同一套***在不同的用户使用习惯或者不同的地域下都会进行一些个性化的定制。各种图标零散地放在应用的各级目录下,当需要使用时都会去服务端进行图标的请求,这样应用***运行中就这些静态资源的请求也会给服务器带来额外的负荷。如今各个***都有一些业务高并发的时期,此时这些和业务无关的纯静态的一些资源的请求如何能够尽可能少,以减轻服务器的负载是各***不得不考虑的问题。
传统的解决方案大体分为两种,其一是增加部署应用的服务器配置(升级硬件配置),同时提高服务器的带宽,使应用在高并发时期的吞吐量得以提高。其二是将***的各种图标交由美工进行处理,由美工使用专业的软件将小的零散图标合并为一张大图,同时给出对应的调用图标的层叠样式文件(CSS),应用软件开发人员直接将这些大图和样式文件放入***中进行各具体页面的开发,这样开发的应用***可以很大程度上减少客户端向服务端发送图标资源请求的数量。
通过上述两种传统解决方案的结合来处理***图标零散和多次向服务端服务器请求资源的问题无疑是一个很好的处理方式。可在具体的项目使用中会慢慢暴露出一些问题,每次有图标的新增或者修改等操作都需要美工将之前的图标资源找到,然后按照新的需求进行调整,调整完后再将新的大图和层叠样式文件交给开发人员,由开发人员对***进行替换。这种处理图标资源的模式要求美工每次都要在上一版本全量图标资源上调整,如果美工存储的原始图标资源丢失或不完整,将导致整个项目出现问题。同时美工往往不单单负责一个项目,可能同时在做几个应用项目的内容,这样资源多不方便管理和维护,同时每次修改都要求开发替换文件也不是一种高效的开发模式。因此需要重新定义一种方式,既能让美工每次只用专注于当前需要调整或新增的图标,又能不让开发每次都替换样式文件、图标文件,基于此开发一种软件***图标库的方法尤为必要。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种软件***图标库的方法,改造成本低,提高图标制作和发布效率高,能同时兼容开发期和实施期图标扩展需求,易于推广使用。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种软件***图标库的方法,其步骤为:
(1)将原始多张图标资源合并为一张大图,减少对应用服务器的资源请求次数,同时生成对应的层叠样式文件;
(2)建立模块用于图标的合并和层叠样式文件的处理工作,每次有新图标调整时,执行此模块,将新的图标合并到大图中并构建层叠样式文件;
(3)通过在应用***中使用一个预留入口结合浏览器的缓存机制缓存的方式,将用户上传图标引入应用***中。
作为优选,所述的步骤(1)中图片的合成针对java计算机编程语言,通过jar包来实现图片的合并操作。如javax.imageio,此包下有很多类可以对图片进行缩放、背景调整、灰化处理、添加水印、多图合并等操作,同时java环境下还有一个做了封装的主要用来处理图片合并的类库org.carrot2.labs.smartsprites,其可以直接将零散的图标资源按照属性的配置进行大图的合并
作为优选,所述的步骤(1)中生成层叠样式文件,需要在图标合成的时候记录每一张图片的位置以及图标的大小,使用IO写操作将这些信息按照应用***前端指定的统一规范写入一个层叠样式文件即可。也可以结合模板解析类库制定固定样式的模板,通过模板解析和替换的方式生成层叠样式文件。
作为优选,所述的步骤(2)对于非maven管理的项目,通过工具类的形式实现,每次对原始资源进行修改和新增后执行此工具类。对于使用maven进行项目中各个模块以及第三方依赖包管理,写一个自定义的maven插件绑定到maven的其中一个生命周期,通过插件自动将图标资源进项合并同时生成层叠样式文件。
作为优选,所述的步骤(3)当使用客户端第一次访问应用***时,从该预留入口加载文件并设置缓存标记,当用户有上传新的图标资源后更新这个缓存标记,此时再次访问应用***时由于客户端缓存标记位发生了变更,将会重新从应用服务器后台请求用户扩展的图标资源文件,应用后台返回当前最新的客户自定义扩展的图标资源文件即可。
本发明的有益效果:该方法在保证现有***各图标正常调用的前提下,通过统一规划管理由软件***对原始的零散图标进行归类整理,合并成统一的雪碧图,结合样式层叠文件对引用图标的定位通过样式名进行使用,提高图标制作和发布效率高,能同时兼容开发期和实施期图标扩展需求,具有可扩展性和替换性,能够满足客户在不同时期不同环境下对图标的不同需求,且改造成本低,应用前景广阔。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明的流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参照图1,本具体实施方式采用以下技术方案:一种软件***图标库的方法,其步骤为:
(1)将原始多张图标资源合并为一张大图,减少对应用服务器的资源请求次数,同时生成对应的层叠样式文件,便于应用***前端页面对图标资源的引用。
图片的合成方式多样,不同的计算机语言有不同的方式。针对计算机编程语言java环境,通过常用的jar包来实现图片的合并操作。如javax.imageio,此包下有很多类可以对图片进行缩放、背景调整、灰化处理、添加水印、多图合并等操作,同时java环境下还有一个做了封装的主要用来处理图片合并的类库org.carrot2.labs.smartsprites,其可以直接将零散的图标资源按照属性的配置进行大图的合并
对于层叠样式文件的处理,需要在图标合成的时候记录每一张图片的位置以及图标的大小,使用IO写操作将这些信息按照应用***前端指定的统一规范写入一个层叠样式文件即可。也可以结合常用的类似FreeMarker的模板解析类库制定固定样式的模板,通过模板解析和替换的方式生成更加漂亮的层叠样式文件。
(2)在开发期为了便于图标的管理,建立一个只专注于图标的合并和层叠样式文件的处理工作的模块,每次有新图标调整时,执行此模块,将新的图标合并到大图中并构建层叠样式文件。
对于非maven管理的项目,通过工具类的形式实现,每次对原始资源进行修改和新增后执行此工具类。对于使用maven进行项目中各个模块以及第三方依赖包管理,写一个自定义的maven插件绑定到maven的其中一个生命周期,通过插件自动将图标资源进项合并同时生成层叠样式文件。
(3)通过在应用***中使用一个预留入口结合浏览器的缓存机制缓存的方式,将用户上传图标引入应用***中。当使用客户端第一次访问应用***时,从该预留入口加载文件并设置缓存标记,当用户有上传新的图标资源后更新这个缓存标记,此时再次访问应用***时由于客户端缓存标记位发生了变更,将会重新从应用服务器后台请求用户扩展的图标资源文件,应用后台返回当前最新的客户自定义扩展的图标资源文件即可。
本具体实施方式***的图标中有一些是具有区分状态和***属性的图标,这部分图标或代表***中的某一中特殊的操作类型,或代表当前数据在业务中的一种特殊属性,该类别的图标在开发阶段就可以确定,在***中只要能满足开发期自定义就可以。而另一类标记***不同功能模块入口的菜单类图标,提供给客户使用,具有引导作用,客户看到这个图标就知道这是一种什么样的业务模块的入口,在众多的菜单中可以通过图标定位到自己想要使用的具体的某一个菜单,该类图标既能够在开发期定义业务应用***可以给出一套默认的配置图标,又能够在客户使用的过程中进行图标的调整,以此满足不同客户不同环境下的具体需求。
本具体实施方式应用***的图标在资源上降低对UI的过度依赖,只需要UI提供原始图标资源即可,后续的层叠样式文件和雪碧图等直接由***生成即可。应用***的图标中界面操作和代表业务逻辑属性等图标支持开发期的自定义与扩展,对于提供给用户作为各个功能菜单入口标识的菜单图标支持在实施期自己上传和设置。
***的图标在制作上具有可扩展性,能够支持开发期和具体的实施运行期的对新图标的自动化处理,以得到图标的层叠样式文件和图标资源的整合文件,同时***能够在具体的实施运行期间支持图标的自动发布,便于应用***的使用者在具体的功能菜单中去配置自己喜欢的这些图标。针对应用***的图标的可扩展性和替换性,需要在***完成图标资源的自动处理完成后,将图标的资源文件以及图标的层叠样式文件自动加载到应用***中,以供应用***的使用者进行***图标按照自己的需求进行替换操作。
需要注意的是,应用***图标的制作不能够单单依赖美工提供图标合成大图和CSS的方式来进行解决,应用***中的图标制作具有一定的自动化,可以直接将原始资源图标进行自动处理,合成大图同时生成对应的层叠样式文件方便***的调用,才能在用户的使用过程中进行图标的扩展。在应用***的实施运行期间要实现对应用***图标资源的扩展,还需要解决图标资源的存储问题、用户多次上传图标资源的管理问题以及用户上传的图标如何引入到***中去的问题,其中图标资源的存储问题即用户和维护人员上传的自定义图标存放在哪里,用户多次上传图标资源的管理问题即应当和开发期类似图标也需要进行合并并且应当根据大小确定多少张图标合并是最优方案,太大单张图请求时间过长,大小会存在零散图标造成***访问时图标资源请求次数过多的问题。
针对图标资源的存储问题,借助应用***文件服务器解决,当用户上传图标资源后先上传到文件服务器中,避免应用***下次升级后重新部署后用户之前上传的图标丢失的情况出现。针对用户多次上传图标资源的管理问题,通过在应用***中配置参数的方式来控制,根据应用***部署服务器的性能以及服务器的网络带宽,同时结合应用***主要使用者的带宽情况来合理地配置合成大图的大小、每张大图容纳小图标的数量、用户上传图标可以提供管理模块给客户使用,对于可能存在一些之前客户上传的图标但后边又不再使用的情况,此类图标提供用户可以删除的入口。为了让应用***的使用者可以灵活自主地使用图标,可以通过图标选择器的方式来供用户对各种功能菜单的图标按照自己的喜好进行配置即可。
本具体实施方式有效减少了客户端向应用服务器服务端发送请求的次数,既加快了客户端的响应速度,又减轻了应用服务端的图标资源文件读取的压力。将有限的服务器资源留给业务处理使用,减少服务器资源的浪费。应用***图标资源的合成和整理交由应用***自动完成,UI只需要提供合适的图标原始资源即可,不仅减轻了工作人员的负担,也更加方便图标资源的管理。同时基于图标的自动化生成和构造,在实施运行期应用***的使用,管理者可以自己上传合适的图标资源上传到应用服务器中,由应用程序自动构建好相对应的样式文件并引入到应用***中,如此也就实现了应用***在运行期间菜单等图标资源的自定义和扩展的需要。
本具体实施方式无论是开发期还是实施期都可以直接基于原始图标资源一键快速地完成***图标的生成和发布,既降低了开发时期开发部门和UI部门美工之间协同工作的时间,又方便了实施运行期间用户和管理人员对应用***图标的扩展和自定义。对应用***开发企业,降低人力成本的同时降低了应用***部署后的维护成本。对应用***的使用者。能够更加方便地实现访问菜单等的图标调整,提升了其对应用***的使用体验。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种软件***图标库的方法,其特征在于,其步骤为:
(1)将原始多张图标资源合并为一张大图,减少对应用服务器的资源请求次数,同时生成对应的层叠样式文件;
(2)建立模块用于图标的合并和层叠样式文件的处理工作,每次有新图标调整时,执行此模块,将新的图标合并到大图中并构建层叠样式文件;
(3)通过在应用***中使用一个预留入口结合浏览器的缓存机制缓存的方式,将用户上传图标引入应用***中。
2.根据权利要求1所述的一种软件***图标库的方法,其特征在于,所述的步骤(1)中图片的合成针对java计算机编程语言,通过jar包来实现图片的合并操作。
3.根据权利要求1所述的一种软件***图标库的方法,其特征在于,所述的步骤(1)中生成层叠样式文件,需要在图标合成的时候记录每一张图片的位置以及图标的大小,使用I0写操作将这些信息按照应用***前端指定的统一规范写入一个层叠样式文件即可。
4.根据权利要求1所述的一种软件***图标库的方法,其特征在于,所述的步骤(1)中生成层叠样式文件结合模板解析类库制定固定样式的模板,通过模板解析和替换的方式生成层叠样式文件。
5.根据权利要求1所述的一种软件***图标库的方法,其特征在于,所述的步骤(2)对于非maven管理的项目,通过工具类的形式实现,每次对原始资源进行修改和新增后执行此工具类。
6.根据权利要求1所述的一种软件***图标库的方法,其特征在于,所述的步骤(2)对于使用maven进行项目中各个模块以及第三方依赖包管理,写一个自定义的maven插件绑定到maven的其中一个生命周期,通过插件自动将图标资源进项合并同时生成层叠样式文件。
7.根据权利要求1所述的一种软件***图标库的方法,其特征在于,所述的步骤(3)当使用客户端第一次访问应用***时,从该预留入口加载文件并设置缓存标记,当用户有上传新的图标资源后更新这个缓存标记,此时再次访问应用***时由于客户端缓存标记位发生了变更,将会重新从应用服务器后台请求用户扩展的图标资源文件,应用后台返回当前最新的客户自定义扩展的图标资源文件即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111073460.3A CN113791714A (zh) | 2021-09-14 | 2021-09-14 | 一种软件***图标库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111073460.3A CN113791714A (zh) | 2021-09-14 | 2021-09-14 | 一种软件***图标库的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113791714A true CN113791714A (zh) | 2021-12-14 |
Family
ID=78880251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111073460.3A Pending CN113791714A (zh) | 2021-09-14 | 2021-09-14 | 一种软件***图标库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113791714A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679852A (zh) * | 2023-08-03 | 2023-09-01 | 民航成都信息技术有限公司 | 一种项目图标的引用方法、装置、电子设备及介质 |
-
2021
- 2021-09-14 CN CN202111073460.3A patent/CN113791714A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679852A (zh) * | 2023-08-03 | 2023-09-01 | 民航成都信息技术有限公司 | 一种项目图标的引用方法、装置、电子设备及介质 |
CN116679852B (zh) * | 2023-08-03 | 2023-10-27 | 民航成都信息技术有限公司 | 一种项目图标的引用方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI808393B (zh) | 頁面處理方法、裝置、設備及儲存媒體 | |
US9483257B2 (en) | Universal and adaptive software development platform for data-driven applications | |
RU2250490C2 (ru) | Предоставление расширений программного обеспечения на основе использования сети | |
CN113076096B (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
US8832181B2 (en) | Development and deployment of mobile and desktop applications within a flexible markup-based distributed architecture | |
KR101292401B1 (ko) | 풍부한 데이터 바인딩된 애플리케이션 | |
US9122669B2 (en) | Flat schema integrated document oriented templates | |
WO2015078343A1 (zh) | 用于web开发***的开发方法和web开发*** | |
US8806357B2 (en) | Plug-ins for editing templates in a business management system | |
US20100153968A1 (en) | External rendering of clipboard data | |
US20010027457A1 (en) | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents | |
JP2012128878A (ja) | コンピュータプラットフォームのプログラミングインターフェース | |
KR20040096577A (ko) | 실시간 시스템 제어용 컴포넌트 모델 | |
JPH1165795A (ja) | 情報処理装置及び該装置におけるプログラムの起動方法 | |
US20100057760A1 (en) | Generic data retrieval | |
US20070283243A1 (en) | Method and apparatus for adapting external controls to a portal design | |
CN101645009A (zh) | Web服务集成开发***和方法 | |
US20080288918A1 (en) | Web service tool based on business object layer | |
CN113656005B (zh) | 应用组件库构建方法、应用组件配置方法及相关装置 | |
JP6002302B2 (ja) | Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム | |
CN113791714A (zh) | 一种软件***图标库的方法 | |
JP4723511B2 (ja) | 文書処理装置及び文書処理方法 | |
CN111506309B (zh) | 任务执行方法和***、计算机可读存储介质 | |
CN114721711B (zh) | 基于GraphQL减免软件研发配置的工具和方法 | |
JP2006309697A (ja) | コンピュータシステム、コンピュータシステム用プログラム、及びこれらのプログラムのうち表計算プログラムに基づくアプリケーションプログラムを生成するプログラム |
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 |