Как скопировать иконку у файла

Обновлено: 06.07.2024

Хозяйке на заметку. Иконки приложений в OS X можно выковырять вручную — делается это достаточно просто. Сначала выделяете приложение в окне Finder, затем жмете клавиши command+I — в окне свойств программы, щелкаете на ее значке в самом верху и жмете клавиши копирования command+C. Потом остается запустить утилиту «Просмотр» (Preview), нажать клавиши command+N и сохранить полученную картинку, желательно в формате PNG (если нужно сохранить полупрозрачные области иконки). Естественно, так удобно делать, если нужно извлечь одну-две иконки. Если же число требуемых значков гораздо больше — лучше все-таки воспользоваться возможностями «Автоматора».

Именно эту иконку нужно скопировать и вставить в утилиту «Просмотр», чтобы вручную сохранить значок в нужном графическом формате.

Итак, запускайте Automator, выбирайте пункт Служба (Service) в качестве типа нашего будущего процесса. В шапке, в выпадающем списке Служба получает выбранные (Service receives selected) выберите пункт файлы или папки (files or folders), а в списке рядом выберите приложение Finder. Таким образом мы ввели ограничение: наша служба будет доступна через контекстное меню только для папок и файлов и только в программе Finder — в любых других ситуациях соответствующий пункт меню виден не будет.

Теперь начнем составлять последовательность действий нашей службы.

1. Из категории библиотеки Файлы и папки (Files and Folders) перетащите действие Фильтровать объекты Finder (Filter Finder Objects). Внутри этого действия составьте правило фильтрования Тип — совпадает с — программа (Kind — is — application). Так мы отсеем все файлы и объекты, которые случайно затесались среди выделенных программ, но программами при этом не являются.

2. Теперь из категории Утилиты (Utilities) добавьте действие Запустить AppleScript (Run AppleScript), введя в этом действии такой код:
on run
activate
return input
end run

Хозяйке на заметку. Действие Запустить AppleScript с таким кодом выполняет простую, но очень важную задачу: делает текущую службу активной, выводя ее окна на передний план. По какой-то причине это не происходит автоматически: допустим, следующим действием нашей службы будет отображение диалога открытия каталога — без выполнения указанного AppleScript-кода этот диалог может затеряться среди других открытых окон, что затруднит работу со службой. Попробуйте поэкспериментировать, отключив действие Запустить AppleScript и посмотрев, как при этом служба будет себя вести. Отсюда совет: если вы хотите гарантировать, что какое-либо диалоговое окно, созданное вашей службой, сразу оказывалось поверх остальных окон, применяйте действие Запустить AppleScript с таким кодом.

3. Третье действие — Запросить объекты Finder (Ask for Finder Items) из категории Файлы и папки (Files and Folders). С его помощью мы сможем впоследствии выбрать папку, куда службе следует сохранить извлеченные иконки. В свойствах действия укажите заголовок диалогового окна выбора каталога, задайте стартовую папку и укажите тип принимаемых данных — в соответствующем выпадающем списке выберите пункт Папки.

4. Теперь добавим в службу «интеллектуальное ядро» — действие Запустить shell-скрипт (Run Shell Script). Не меняя изначальных параметров действия, введите внутрь него такой код:
INPUT=("$@")
INPUTAPPS=("$")
DESTINATION=$</p>

for APP in "$"
do
ICON=`defaults read "$APP/Contents/Info" CFBundleIconFile|sed -e 's/.icns$//'`
ICONFILE="$APP/Contents/Resources/$ICON.icns"
APPNAME=`basename "$APP" .app`
OUTFILE="$DESTINATION/$.jpg"

/usr/bin/sips -s format png "$ICONFILE" --out "$OUTFILE"
done


Если кому-нибудь интересно, в комментариях я смогу объяснить работу этого кода. Именно он получает на входе весь массив данных, отделяет пути выделенных в Файндере программ и путь к папке сохранения иконок, ищет внутри каждой программы иконку и сохраняет ее в указанном месте в формате PNG, присваивая картинкам имена соответствующих программ.

Примерно так должна выглядеть готовая служба для извлечения иконок в русскоязычном варианте.

Как извлечь значки (иконки) из файла

В операционных системах Windows, некоторые виды файлы могут содержать в себе значки (или как их иначе называют - иконки, от английского icons), которые используются как для придания исполняемому файлу своего неповторимого облика, так и для использования внутри программ. Хранятся такие значки в формате ico, и их можно без проблем извлечь для изучения или использования в своих целях. В этом нелегком деле нам могут помочь две бесплатных утилиты - IconsExtract от NirSoft или Resource Hacker от Angus Johnson.

IconsExtract

Программа очень проста в использовании - достаточно запустить её, и выбрать файл или папку для поиска иконок (с помощью кнопок "Browse Folders. " и "Browse Files. " соответственно). Так же есть возможность поиска иконок в файле процесса - для этого, нужно выбрать пункт "Scan icons in the selected process". Выбрав желаемый способ поиска иконок, нажимаем на кнопку "Search For Icons".

После этого, в программе загрузятся все доступные иконки.

Для сохранения иконки, необходимо выделить нужные, после чего нажать правой кнопкой мыши и выбрать пункт "Save Selected Icons".

Resource Hacker

Взять данную программу можно с официального сайта автора. После установки и запуска, выбираем меню "File", а в нем пункт "Open", и открываем интересующий нас exe, dll или иной файл. После открытия, загрузится дерево ресурсов, в нем нас должны интересовать два раздела "Icon" и "Icon Group".


Первый раздел содержит в себе каждую иконку по отдельности, в то время как второй содержит те же иконки, но поделенные на группы под разное разрешение.

Выбрав (выделив левой кнопкой мыши) нужную иконку или группу иконок, нажимаем правой кнопкой мыши и в появившемся меню выбираем "Save *.ico resource. ". После этого, выбираем любое удобное место, куда будет сохранен ico файл с иконкой (иконками).

Извлечение иконок из файлов - IconsExtract 1.47 Portable


Утилита IconsExtract сканирует файлы и папки на вашем компьютере и извлекает иконки и курсоры, хранящиеся в EXE, DLL, OCX, CPL и других типах файлов.

Системные требования:
Windows 95 / 98 / ME / NT / 2000 / XP / 2003 Server / Vista / 7 / 8 / 8.1 / 10

Торрент Извлечение иконок из файлов - IconsExtract 1.47 Portable подробно:
Возможности программы:
·Извлечение иконок, а также курсоров из исполняемых файлов.
·Поиск исполняемых файлов по шаблону.
·Работа как через графический интерфейс, так и интерфейс командной строки (подробнее ниже).

Как изменить язык?
По умолчанию, программа, скачанная с официального сайта имеет исключительно английский интерфейс, но в раздачу также добавлен файл русского перевода - iconsext_lng.ini, удалите или переименуйте его, чтобы вернуть английский язык.

Взаимодействие с утилитой через командную строку.
Для сохранения иконок следует воспользоваться ключом /save. Эта команда имеет следующие параметры:

iconsext.exe /save "source file" "save folder" [-icons] [-cursors] [-asico]

·source file - файл, который содержит иконки для извлечения.
·save folder - папка для сохранения извлечённых иконок.
·-icons - установите этот параметр, если хотите извлечь иконки.
·-cursors - установите этот параметр, если хотите извлечь курсоры.
·-asico - установите этот параметр, если вы хотите сохранить курсоры как файлы ICO.

Например, извлечь из файла shell32.dll иконки и курсоры в папку C:\icons:

iconsext.exe /save "C:\Windows\System32\shell32.dll" "C:\icons" -icons -cursors

Особенности Portable:
Для использования программы нужно всего лишь запустить исполняемый файл, установщик отсутствует.

Скриншоты Извлечение иконок из файлов - IconsExtract 1.47 Portable торрент:

Читайте также: