有人可以解释一下,为什么很多程序都有这样的图标路径:
在/ usr /共享/程序/图标/高彩色/ 16×16 / …
我不明白为什么hicolor和为什么16×16,32×32等.
是否有任何功能(例如在GTK中)从这种路径中自动获取正确的图标?
谢谢!
最佳答案
这些图标路径由Icon Theme Specification标准化.原因是所有应用程序都可以将其默认图标安装到hicolor主题(这是默认主题,这意味着如果另一个主题中缺少图标,则将使用来自hicolor的版本. )
此外,程序可以请求与提供的图标大小不同的图标大小,例如37×37,系统将选择最合适的可用大小(如32×32)并将其缩放到请求的大小.
如果有人想覆盖应用程序的图标,例如为视力不佳的用户制作高对比度的黑白版本,那么他们所要做的就是制作一个具有相同名称的图标并将其置于高位 – 对比黑白主题,它将覆盖hicolor图标.
您询问的功能也存在.在GTK中有一些函数采用const gchar * icon_name参数,例如gtk_image_new_from_icon_name()
.这些函数将加载带有您从当前主题提供的名称的图标,如果它在当前主题中不存在,则从hicolor主题开始.