Windows
Вам нужен Icon Handler , также известный как Thumbnail Handler. Вот пример, написанный как активный элемент управления x .
Другим ресурсом является поиск Обработчиков свойств , который также должен указывать на новейший и лучший способ правильной обработки динамических метаданных в окнах.
Это динамические решения - они не нужны, если вы просто хотите, чтобы значок ассоциировался со всеми вашими файлами, - они используются только тогда, когда вы хотите, чтобы проводник Windows отображал значок в зависимости от содержимого файла. , а не только расширение, а при изменении файла значок обновляется, чтобы отразить изменения. Это не обязательно должно быть изображение самого файла, обработчик миниатюр может генерировать любое изображение на основе содержимого файла.
Обработчик свойств обновляет другие метаданные, например длину песни или видео, поэтому вы можете использовать все метаданные, которые поддерживает Проводник Windows.
Что касается поддержки MAC, на этой странице говорится: «В операционных системах Mac и Windows существуют разные способы включения этого типа миниатюр, а в случае Mac OS эта поддержка несовместима с версией до версии, чтобы она не использовалась [для Adobe InDesign]. "
OS X
Значки для Mac OSX определяются Launch Services Database . Однако это относится к файлу статических значков для всех файлов, обрабатываемых зарегистрированным приложением (он не основан на расширении - к каждому файлу прикреплены метаданные, которые определяют приложение, к которому он принадлежит, хотя расширения дают подсказки, когда метаданные этого не делают. существует, например, получение файла из другой ОС или файловой системы)
Похоже, что функциональность динамических значков в OSX предоставляется Finder, но поиск не дает никаких простых указателей в этом направлении. Поскольку Finder со временем меняется, я понимаю, почему эту цель трудно поразить ...
Гном
Для Gnome вы используете thumbnailer . (спасибо Дорвард )
Это чрезвычайно простая программа, которую вы пишете, которая имеет 3 аргумента командной строки:
- имя входного файла, файл, который вы описываете с помощью миниатюры (или URI, если вы принимаете их вместо)
- имя выходного файла, в который нужно записать PNG
- размер, число в пикселях, которое описывает максимальный квадратный размер изображения, которое вы должны создать (128 -> 128x128 или меньше)
Хотелось бы, чтобы все системы были такими простыми. С другой стороны, это не поддерживает анимацию и некоторые другие функции, которые предоставляют более сложные для реализации плагины в других системах.
KDE * * тысяча пятьдесят один
Я немного не уверен, но есть несколько указателей, которые помогут вам начать. Во-первых, Konqueror является файловым менеджером и отображает значки - он поддерживает динамические значки для некоторых встроенных типов, но я не знаю, являются ли они жестко закодированными или плагинами, которые вы можете написать. Обратитесь к Руководству по встроенным компонентам , чтобы узнать, как начать.
Существует новая (или?) Функция (или плановая функция ...) под названием Plasma, которая имеет много общего с иконками и иконками. Посмотрите это объявление и это начальная реализация .
Возможно, вам придется покопаться в исходном коде Konqueror и проверить, как они это сделали для текстовых файлов и других уже реализованных.
-Adam