Для хобби-проекта по разработке игр я ищу способ автоматизировать следующий рабочий процесс, который может быть в любом инструменте для редактирования фотографий/изображений.
Короче говоря, возьмите изображение с высоким разрешением, сделайте несколько выборок, а затем экспортируйте каждую выборку в отдельный файл PNG, а также экспортируйте список координат выборок в текстовый файл. Посмотрите, что я имею в виду на макете изображения ниже:
Сейчас я делаю все эти шаги вручную, и большинство изображений состоят из 70-80 частей. Всякий раз, когда есть ошибка, обновление изображения, изменение разрешения и т. д., мне приходится переделывать большие части или даже все целиком, даже если выбор примерно одинаков.
Некоторые программы для редактирования фотографий поддерживают плагины и скрипты, и я без проблем могу делать скрипты (lua, python, javascript). Но я не знаю ни одного фоторедактора, поддерживающего сохранение нескольких вариантов . Если вы знаете хорошее решение этой проблемы в каком-либо фоторедакторе, таком как Painshop, PhotoShop, Coral Draw или программе с открытым исходным кодом, такой как Gimp или Paint Dot Net и т. д., пожалуйста, дайте мне знать.
Но я не знаю ни одного фоторедактора, поддерживающего сохранение нескольких вариантов.
Решение для GIMP:
Select>To path
(используя pdb.plug_in_sel2path(image, drawable)
функцию). Это создаст путь, состоящий из нескольких «штрихов», каждый из которых представляет собой замкнутую кривую, представляющую один из выбранных вами элементов (*).Некоторые примеры скриптов Gimp на Python, включая целый набор, который в основном работает с путями, см. здесь и здесь .
(*) Некоторые основы путей Gimp :
selection to path
для создания целого списка paths
и переименовать каждую path
в полезное имя. Но тогда можно ли использовать сценарий custom.py для перебора всех этих путей, преобразования каждого пути обратно в выбор и сохранения его в виде файла png? Это тот подход, который вы имеете в виду?(Частичное/еще не работающее) решение для GIMP с использованием разрозненных частей («штрихов») одного выделения:
Поместите сценарий GIMP от Эндрю Квальхейма в файл ~/.gimp-2.8/scripts/export-selected-regions.scm
(или эквивалентное место в Windows/Mac OS X).
Запустите ГИМП.
Создайте свой выбор.
Выберите «Выбрать → Экспортировать выбранные регионы» в меню. (Это новый пункт меню, добавленный сценарием.)
Предостережения:
Начиная с GIMP 2.8, этот скрипт не работал, жалуясь на «неизвестный формат изображения». Поэтому потребуется обновление, но затем предоставьте решение. Пожалуйста, отпишитесь в комментариях, когда у вас получится.
По сравнению с решением, основанным на путях (в других ответах здесь), это решение требует меньше кликов для определения выбора, но применимо только в том случае, если (1) вам не нужны самоопределяемые имена для ваших выходных изображений и (2) ни одна из ваших частей выделения не перекрывается (поскольку это приведет к одному объединенному «штриху» при определении выделения и, следовательно, к одному выходному изображению для этого «штриха»).
(Частичное/еще не работающее) решение для GIMP, использующее быстрый полуавтоматический процесс «выделите, сохраните как PNG, повторите»:
Поместите сценарий сохранения области в файл ~/.gimp-2.8/scripts/savearea.scm
(или эквивалентное место в Windows/Mac OS X).
Запустите ГИМП.
Перейдите в «Правка → Сочетания клавиш» и назначьте сочетание клавиш пункту меню «Файл → Область сохранения» (добавленному установленным вами скриптом). Вы можете использовать один ключ без модификатора, например /
.
Чтобы использовать скрипт:
Предостережения: последний раз скрипт обновлялся в 2007 году, поэтому, вероятно, он не будет работать в текущей версии GIMP 2.8 (хотя я его не проверял). Но это частичное решение, которое можно исправить. Также в инструкции по установке указано , что если скрипт не работает, то следует конвертировать исходные изображения в другой формат. PNG с «Изображение → Режим → RGB» кажется хорошим выбором, поскольку сценарий использует сам этот формат для сохранения выбора.
export_paths_to_png.py
скрипта Python . для ГИМП. Преимущество этого заключается в том, что выборки + имена хранятся в одном файле, что удобно для архивирования, чтобы вы могли позже внести некоторые изменения, а затем просто повторно экспортировать. Еще одним преимуществом является то, что если вы измените размер всего изображения, то пути также изменятся.(Полностью работающее) решение, разработанное автором оригинального постера @BdR и упомянутое в этом комментарии . На данный момент это самое передовое решение для GIMP, которое полностью работает в текущей версии GIMP 2.8.
Поместите скрипт export_paths_to_png.py в папку ~/.gimp-2.8/plug-ins/
(или аналогичное место в Windows/Mac OS X).
В Linux сделайте этот скрипт исполняемым:
chmod a+x ~/.gimp-2.8/plug-ins/export_paths_to_png.py
В Linux заставьте сгенерированные файлы использоваться /
вместо \
разделителей каталогов в сценарии (строки 29 и 68 ).
Запустите ГИМП.
Создайте и назовите пути GIMP для каждого выбора:
Создайте выделение.
В диалоговом окне «Пути» нажмите «Выбор пути».
Необязательно: переименуйте свой путь. Имя пути будет использоваться в качестве имени файла при сохранении.
Повторите для всех ваших выборов.
Нажмите «Фильтры → Пути → Экспортировать пути в PNG» (пункт меню, добавленный установленным вами скриптом), заполните диалог и нажмите «ОК».
Преимущества:
.xcf
. Это экономит работу, когда вам нужно внести несколько изменений и повторно экспортировать изображения позже.orgcoords.json
рядом с вашим выходным каталогом для использования с вашими собственными скриптами. Если ваши пути являются простыми выделениями с помощью GIMP «Инструмент выделения прямоугольника», вся информация о них содержится в .json
файле таким образом.
Боковойтерминал
Боковойтерминал
БДР