Всем привет. Сразу уточню название: вырезание означало создание уменьшенных копий файлов png и jpg. То есть то, что иногда нужно разработчикам/верстальщикам/дизайнерам.
В моем конкретном случае уменьшение изображения для дисплеев Retina вдвое для обычных экранов.
Метод №0, канонический
То есть Фотошоп или какой-нибудь другой графический редактор при непосредственном участии пользователя.Последовательность действий следующая: откройте изображение в редакторе, уменьшите его до 50% (вставьте нужное число), сохраните с нужным именем.
Если привязать уменьшение изображения к горячей клавише с помощью макроса, то время тратится только на переименование файла и первоначальную загрузку редактора.
В итоге 30 секунд на файл, не долго, но если файлов много, то потеря времени заметна.
Могу поспорить, что многие, многие люди так делают или делали это в какой-то момент своей карьеры.
Я сам, зная, что все это можно легко автоматизировать, все равно рубил дрова тупым топором, успокаиваясь мыслью, что затачивать его просто нет времени.
И наконец это время пришло.
Неважная информация Кстати, катализатор был эта ветка комментариев.
Способ №1: «За нас все уже сделано»
Есть достаточно многофункциональные платные программы, а также инструмент в Фотошоп начиная с версии 14.1 (Спасибо дизайнерский за ссылку).Они творят чудеса напрямую с psd-файлом, устраняя некоторые рутинные операции.
Все это, конечно, круто, но, во-первых, это стоит денег (они до сих пор используют лицензионный софт!), а во-вторых, за вас все равно все не сделают. Конечно, хотелось бы услышать мнение тех, кто пользовался такими средствами, возможно я ошибаюсь, и они действительно творят чудеса.
Способ №2: «Автоматизация для домохозяек»
Итак, у нас есть набор изображений в форматах png и jpg в максимально необходимом разрешении, которые мы или кто-то другой уже вырезали.Нам необходимо создать копии этих изображений, пропорционально уменьшенные в определенное количество раз, а также переименовать их так, как нам нужно.
И конечно он выходит на арену Автомататор ! Вещь с большими возможностями и простая в использовании.
Нужный нам функционал делается в несколько кликов мышкой, и с помощью это руководство , например, даже моя мама со всем справится.
И дело не в том, что моя мама достаточно продвинутый пользователь, а в том, что это действительно очень просто.
Поэтому я не буду здесь описывать процесс создания, вдруг кого-то заинтересует результат — Пожалуйста (размер такой маленькой программы такой большой в первую очередь из-за иконки размером 1,3 Мб с роботом Отто).
Приложение предложит выбрать исходные файлы, затем — папку, куда поместить уменьшенные копии, и уменьшит выбранные файлы на 50%, удалив retina-постфикс «@2x» в их именах.
Если под горячую руку попадут файлы других типов, они также будут скопированы и, по возможности, переименованы.
Минус такого подхода в том, что для каждого конкретного сценария (разный процент снижения, разный метод именования) придется создавать отдельное приложение.
Вполне возможно, что если корпеть над мануалами, все можно реализовать в рамках одного приложения, но зачем делать сложные вещи с помощью инструмента, рассчитанного на простые? С помощью Automator можно сделать как полноценное приложение, так и т.н.
Сервис — это интегрированная в операционную систему последовательность определенных действий, которые можно вызвать непосредственно из контекстного меню файла.
Идеально подойдет как дополнение, если вам нужно применить действие не к целому списку файлов, а по пунктам.
Кроме того, вызов сервиса можно привязать к горячей клавише, хотя по какой-то причине это не работает .
Конечный результат, если вам лень делать это самому, связь .
Вам необходимо распаковать архив и скопировать внутри него файл с расширением рабочего процесса в папку Library/Services вашего пользователя.
Программы обработки изображений из Automator, скорее всего, выполняются с помощью инструмента, встроенного в OS X. глотками , конечный результат при сравнении попиксельно иногда отличается от результата аналогичного уменьшения изображения в Фотошопе, но различия минимальны, и изображения в любом случае выглядят хорошо.
Способ №3, для настоящих ценителей.
Конечно, каждый сознательный гражданин, знающий толк в извращениях, в первую очередь задумается об этом.
Напишите сами! Плюсов здесь масса: удобный графический интерфейс, тонкая настройка всего необходимого, уверенность в том, что приложение вас не подведет. но все это при условии, что вы вложите определенный труд. Я взял себя в руки и решил инвестировать.
Получилось, на мой взгляд, весьма неплохо.
Что-то вроде этого:
Помимо выбора исходной папки и папки назначения, вы можете указать процент уменьшения и строку с определенным синтаксисом (маской), по которой будет происходить переименование.
Например, маска -@2x означает, что текст будет удален из имени @2x , А *+_копия означает, что будет добавлен конец имени файла (перед расширением) _копировать .
Я постарался как-то описать все тонкости синтаксиса Переименование уменьшенных копий исходных изображений происходит по заданной маске имени с использованием управляющих символов и символов значений.
Управляющих символов всего четыре: - (минус), + (плюс), * (звездочка) и / (косая черта).
Символы значения — все остальные символы по вашему выбору.
Любые символы значений перед первым управляющим символом игнорируются.
Появление знака минус означает, что из итогового имени файла будет удалена последовательность последующих символов значения до следующего управляющего символа «+» или «-» или конца строки, если они, конечно, там есть.
Пример: -@2x сделает то, что, скорее всего, необходимо - удалит все вхождения @2x в имени файла.
Появление знака плюс означает, что последовательность последующих символов значения до следующего управляющего символа «+» или «-» или конца строки будет добавлена в конец или начало окончательного имени файла.
Звездочка означает, что все последовательности с плюсом перед ней добавляются в начало имени, а после него – в конец.
Только первая звездочка является управляющим символом; все последующие воспринимаются как значащие символы.
Если управляющая звездочка находится среди символов значения, считается, что она находится перед следующим символом «+» или «-».
Звездочка не влияет на последовательности со знаком минус.
Примеры: -@2x+foo*+_copy удалит все вхождения @2x, добавит «foo» перед именем файла и «_copy» после него.
Следующие маски будут работать аналогично: ytsuken-@2x+foo*+_copy , -@2x+f*oo+_copy И +foo*+_copy-@2x Сначала выполняются все минусовые маски, затем все плюсовые маски.
Косая черта экранирует следующий управляющий символ, поэтому он рассматривается как символ значения.
Обработку изображений внутри приложения я реализовал с помощью тех же sips, поэтому результат вывода аналогичен программам, созданным с помощью Automator. При желании вы можете использовать это безобразие просто для группового переименования, выбрав одну и ту же папку и в качестве места назначения, и в качестве источника, и установив процент уменьшения на 100. Ссылка на скомпилированное приложение Здесь (проверено на OS X 10.8.5), по каким-то неочевидным причинам не выкладываю исходники на GitHub, если кому интересно, пишите, пришлю вам в архиве.
Спасибо за внимание, да пребудет с нами автоматизация! P.S. Обратите внимание, что этот пост не означает, что эти четыре метода являются единственными.
Теги: #Обработка изображений #автоматизация #лень #автомат #Какао #objective-c
-
Для Тех, Кто Страдает От Жары
19 Oct, 24 -
Найдите Похожие Проекты На Github.
19 Oct, 24