我们的应用程序具有类似于OpenDocument文件格式的文件格式(请参阅http://en.wikipedia.org/wiki/OpenDocument) - 即使用清单文件,缩略图图像等进行压缩.
我注意到OpenOffice文件在Windows和Linux中都有Open Office文件的预览图像作为其图标.有没有办法为我们的文件完成这个:即我想要一个基于内部thumbnail.png的动态图标?
编辑1哇,谢谢你所有的快速答案.thumbnailer的看起来非常适合GNOME世界.Windows我会查看这些链接,谢谢.至于评论问题:通过我们的安装程序以编程方式OR.
编辑2哦,忘了Mac.在Mac上怎么样?(对不起Mac爱好者!)还有任何关于OpenOffice如何处理他们的IconHandler内容的链接或信息 - 因为我们的非常相似?
你需要的是一个图标处理程序,也称为缩略图处理程序.这是一个写为活动x控件的示例.
另一个资源是查找属性处理程序,它还应该指向您在Windows中正确处理动态元数据的最新和最好的方法.
这些是动态解决方案 - 如果您只想要一个与所有文件相关联的图标,则不需要它们 - 只有当您希望Windows资源管理器根据文件中的内容(而不仅仅是扩展名)显示图标时才使用它们.文件更改图标已更新以反映更改.它也不必是文件本身的图像,缩略图处理程序可以根据文件内容生成任何图像.
属性处理程序更新其他元数据,例如歌曲或视频长度,因此您可以使用Windows资源管理器支持的所有元数据.
关于MAC支持,这个页面说:"Mac和Windows操作系统有不同的方法来启用这种类型的缩略图,而在Mac OS的情况下,这种支持在版本之间是不一致的,所以它没有被追求[适用于Adobe InDesign]."
Mac OSX的图标由启动服务数据库确定.但是,它指的是由注册应用程序处理的所有文件的静态图标文件(它不是基于扩展名 - 每个文件都附加了元数据,用于确定它所属的应用程序,尽管扩展在元数据不提供时提供提示存在,例如从不同的OS或文件系统获取文件)
看起来OSX中的动态图标功能是由Finder提供的,但搜索并没有在这个方向上提出任何简单的指针.由于Finder不断变化,我可以看出为什么这个目标很难被击中......
对于Gnome,你使用缩略图.(感谢Dorward)
这是一个非常简单的程序,它有3个命令行参数:
输入文件名,用缩略图描述的文件(如果接受,则为URI)
输出文件名,您需要在其中编写PNG
size,一个数字,以像素为单位,描述您应该生成的最大方形图像大小(128 - > 128x128或更小)
我希望所有系统都这么简单.另一方面,这不支持动画和其他系统上更难实现的插件提供的一些其他功能.
我有点不确定,但有一些指针应该让你开始.首先是Konqueror是文件管理器并显示图标 - 它支持一些内置类型的动态图标,但我不知道这些是硬编码还是可以编写的插件.查看嵌入式组件教程了解起点.
有一个名为Plasma的新(ish?)功能(或计划功能...),它与图标和图标功能有很大关系.看看这个公告和这个初步实施.
您可能需要深入了解Konqueror的来源,并查看他们如何为文本文件和其他已实现的文件执行此操作.
-亚当