PSD → PNG — это не просто смена расширения: на пересечении стоят семантика слоёв, политика ICC и straight alpha, а сроки сдачи не ждут. Текст ориентирован на дизайнеров и ответственных за доставку, которым в 2026 нужно выбрать стек пакетной обработки на Mac — sips, ImageMagick или узкоспециализированную CLI — и зафиксировать приёмку на стабильном удалённом узле M4. Ниже: риски входного PSD, сравнительная таблица (качество, ICC, прозрачность, скорость пакета), каталоги и имена на удалённой машине, чеклист приёмки с порогами по байтам и правилами sRGB / Display P3, FAQ и готовые команды для терминала.
Входной PSD: риски до любой CLI
Утилиты командной строки растрируют то, что реально лежит в файле. Относитесь к каждому PSD как к контракту между дизайном и автоматизацией.
- Видимость слоёв и композиции: скрытые группы, альтернативные артборды и layer comps, не совпадающие с активным состоянием экспорта, дают «правильно прошедшие» по скрипту PNG с неверным содержимым.
- Смарт-объекты и PPI: связанные или встроенные SO могут растрироваться с другой эффективной плотностью; без задокументированного масштаба пакет выглядит мягким или зубчатым.
- Режимы наложения и корректирующие слои: разные движки по-разному переносят отдельные режимы после сведения. Зафиксируйте золотой набор (плоский UI, глубокая тень, тонкий шрифт) и сравнивайте пиксели после каждого обновления цепочки.
- Уход цвета: документ в Display P3 без явного шага конвертации не становится sRGB только из-за расширения .png. Формулировки в тикете должны согласовываться с чеклистом sRGB и Display P3 для PNG на Mac.
- Семантика альфы: маски, обрезанные края и полупрозрачное белое под альфой часто проявляются только на тёмном UI — проверяйте там, а не только на белом фоне превью.
Про sips: sips силён в ICC-осознанной работе с растрами, которые macOS понимает нативно (PNG, JPEG, TIFF, HEIC). Это не универсальный движок послойного PSD. Рабочая схема: экспорт из authoring (Photoshop, Affinity или ImageMagick с чтением PSD), затем при необходимости нормализация через sips по вашей политике.
Сравнение инструментов: качество, ICC, прозрачность, скорость пакета
Таблица — это протокол решения команды. «Качество» здесь означает близость к утверждённому плоскому виду, а не субъективный вкус.
| Инструмент / путь | Чтение PSD / роль | ICC и цвет | Прозрачность (альфа) | Темп пакета (типично) |
|---|---|---|---|---|
| Photoshop / Affinity (пакет, экшены, DAM) | Нативный PSD; лучшая семантическая точность | Явное назначение или конвертация; встраивание sRGB по ТЗ | Straight alpha при соблюдении веб-спека экспорта | Средний; GUI или скрипты; предсказуемо для подписи дизайна |
ImageMagick (magick) |
Многие PSD растрируются; проверять индекс [0] и слияние слоёв |
-colorspace sRGB, -profile осознанно; тест P3→sRGB |
PNG32: vs PNG24:; ореолы на #000 / #FFF |
Высокий на M4 при нормальном I/O; удобен для больших серий |
| sips (macOS) | Постобработка растров; не основной PSD-движок | Силён в --matchTo и назначении профиля PNG |
Альфа сохраняется при аккуратных PNG-проходах; следить за resize | Очень высокий на файл; хорош как второй этап |
Спец-CLI (psd-tools, Sharp-воркеры, Node/Python) |
Программный выбор слоёв; нужны инженерные регрессии | ICC реализуете сами под политику фронта | Удобны для схемы «именованный слой → файл» | Зависит от кода; после обновления зависимостей — аудит |
Когда PNG уже существуют, политику без потерь по байтам и чанка ICC стоит держать в одном документе сдачи — см. метаданные PNG, ICC/sRGB и без потерь на удалённом M4, чтобы сжатие не спорило с цветовым намерением.
Примеры исполняемых команд
Подставьте свои пути и профили; сначала прогоните на «золотом наборе» без продакшена.
ImageMagick — первая страница PSD в sRGB PNG с альфой:
magick "artboards/hero.psd[0]" -colorspace sRGB -strip "out/hero.png"
ImageMagick — задать ширину, сохранить пропорции:
magick "in/slice.psd[0]" -colorspace sRGB -resize 1200x -strip "out/slice-1200w.png"
sips — подогнать ICC у уже готовых PNG (пост-экспорт):
sips --matchTo "/System/Library/ColorSync/Profiles/sRGB Profile.icc" out/*.png
sips — проверка размеров в пикселях (гейт приёмки в shell):
sips -g pixelWidth -g pixelHeight -g format out/hero.png
Пакет (zsh) — нормализовать все PNG в каталоге:
for f in out/*.png; do sips -s format png "$f" --out "${f%.png}.normalized.png"; done
Для очень крупных кадров и ночных прогонов действуют те же дисциплины хоста, что и в материале пакетный экспорт 4K PNG на удалённом Mac M4: фиксированная базовая версия macOS, задокументированный запас по RAM и термике, отключение режима энергосбережения на время задач.
Структура каталогов и именование на удалённом M4
Удалённый Mac повторяем только тогда, когда дерево каталогов читается как манифест.
- Разметка:
sources/psd/(только чтение, handoff),work/png-raw/(первый растр),dist/web-srgb/(принято к выдаче),qa/previews/(датированные оверлеи в браузере или Figma),logs/(версия инструмента и флаги каждого прогона). - Run-ID: например
20260408T1030Z-im-v7.1.1/внутриwork/, чтобы после обновления ImageMagick диффить выходы. - Токены в имени файла:
{проект}-{экран}-{вариант}-w{ширина}-srgb.png— пример:checkout-hero-light-w1440-srgb.png. Суффикс-p3— только если в тикете явно разрешён wide-gamut мастер вdist/. - Манифест: на каждый прогон файл
manifest.csv:relpath,pxW,pxH,bytes,colorIntent,sha256,im_version.
Чеклист приёмки: пороги объёма, sRGB и Display P3
Внесите эти пункты в тикет: отклонение должно ссылаться на строку чеклиста, а не на «кажется тусклее».
| Пункт | Ориентир (подстройте под продукт) | Пройдено |
|---|---|---|
| Геометрия | Сетка дизайна ±0 px; @2x/@3x описаны в ТЗ | sips -g pixelWidth совпадает со спеком |
| Верхний предел размера файла | Напр. hero ≤ 800 КБ, иконки ≤ 120 КБ (веб); мобайл часто жёстче | wc -c ниже порога или отметка о ручной оптимизации |
| Поставка в sRGB | Конвертация, а не только тег; встраивание ICC как в README | Проверка профиля + визуально на sRGB-мониторе |
| Мастер Display P3 | Только в sources/ или с -p3 в dist/, если разрешено |
Нет двойной конвертации |
| Альфа | Straight alpha; без ореолов на #FFFFFF / #0B0B0B | Точечная проверка + ~1% случайная выборка из пакета |
FAQ
В: Можно полностью убрать Photoshop и оставить только ImageMagick?
A: Только после тестов паритета на реальных файлах. IM не повторяет каждую композицию один в один; Photoshop или Affinity остаются апелляцией для сложных наложений.
В: Почему цвет уезжает даже с -colorspace sRGB?
A: Нет профиля, двойное встраивание, предположения CSS в браузере или мастер всё ещё в wide gamut. Применяйте ту же ICC-политику, что и в чеклисте sRGB/P3 по ссылке выше.
В: sips --matchTo то же самое, что «конвертировать в sRGB» в Photoshop?
A: Не всегда пиксель в пиксель. Выберите один авторитетный этап конвертации (часто authoring), а sips используйте для подгонки под письменную политику.
В: Пакет летает, но отдельные PNG раздуваются по байтам — что делать?
A: Разделяйте сжатие без потерь (например oxipng) и палитру с потерями (pngquant); фиксируйте в ТЗ, какие SKU что допускают; пороги по байтам и ICC переносите из гайда по метаданным PNG.
Итог
Пакетная обработка PSD ломается в щелях: неверная композиция, неясный ICC-интент и альфа, которая проявляется только в тёмной теме. Сначала сопоставьте экспорт из authoring, затем используйте ImageMagick для пропускной способности и sips для нативной на macOS работы с профилями на готовых растрах. Зафиксируйте дерево каталогов, run-ID и поля манифеста на удалённом M4, чтобы у каждого релиза был ответ на вопрос: «какая версия инструмента это растрировала?»
Дальше: удалённый Mac под пакетный экспорт
Длинные очереди PSD→PNG имеет смысл вынести на выделенный узел Mac — ноутбук остаётся для итераций. Главная MacPng описывает сервис; в разделах аренда и пакеты и тарифы и узлы можно подобрать ресурсы без входа в аккаунт. Центр помощи по SSH и VNC тоже доступен без логина. Ещё материалы по дизайн-доставке и пакетным PNG — в разделе технических идей.
Пакеты PNG из PSD на стабильном хосте M4
Единая база macOS, задокументированные правила ICC и ночные прогоны — когда локальных разовых экспортов уже недостаточно.