Как уменьшить скриншоты в MacOS

Есть такая проблема, что большинство скриншотов на маке весят достаточно много. Один скрин всего экрана на ретине ≈1,6МB. Чтобы уменьшить вес для личных и рабочих проектов, но при этом минимально потерять в качестве можно использовать Hazel + скрипт + утилиты для сжатия. При этом все будет запускаться автоматически при попадании в определенную папку.

# Ставим утилиту pngquant через Homebrew для уменьшения цветовой палитры
brew install pngquant

# Ставим утилиту zopfli через Homebrew для агрессивного сжатия без потерь
brew install zopfli

# Копируем скрипт и указываем /bin/zsh для запуска
pngquant 64 --skip-if-larger --strip --ext=.png --force "$1"
zopflipng -y "$1" "$1"

Настраиваем Hazel: добавляем запуск shell-скрипт, скопированный выше:

Hazel Compress Settings
Пример настроек Hazel для папки Downloads.

Сравниваем разницу. Исходные файлы удалось уменьшить на 80%:

File comparison Compress

Демонстрация работы

Демонстрация сжатия PNG через Hazel
Делаю скрин окна в буфер обмена объемом 66КБ, который сжимается до 9КБ.

Полезные ссылки

Официальный сайт утилиты ImageAlpha
Официальный сайт утилиты pngquant
Учим Hazel грабить PDF-документы

Send
Share
Pin
2 comments
Айфоновод Маковедов 2023

Что то мне подсказывает что оригинальная идея принадлежит автору этого поста – https://about.gitlab.com/blog/2020/01/30/simple-trick-for-smaller-screenshots/

Blog author 2023

По мотивам)

Павел Серёгов 2 mo

В CleanShot можно выбрать WebP и дальше сжимать его, размер файла уменьшится еще в 2-3 раза по сравнению с PNG.

CWEBP_PATH=“/opt/homebrew/bin/cwebp”
$CWEBP_PATH -q 80 -m 4 -sharp_yuv “$1” -o “$1”

-q 80: Качество 80 (оптимальный баланс веса и четкости текста)

-m 6: Максимальный метод сжатия (работает медленнее, но жмет сильнее)

-sharp_yuv: Сохраняет четкость цветовых переходов (критично для текста)

Blog author 2 mo

Павел, спасибо. Можно выбрать WebP, но только зачем? С ним же дальше неудобно работать