Тарифы Услуги Сим-карты

Готово выполняется обрезка изображения. Поворот и зеркальное отражение. Изменение размера фигуры

Функция обрезки изображений присутствует во многих программах для просмотра. Но в основном поддерживается обработка одного файла. И если изображений много, необходимо с каждым возится по очереди. Чтобы прилично сэкономить время, можно воспользоваться программой для пакетной (то есть массовой) обрезки изображений. В данной статье разберемся где загрузить нужную программу и как с ней работать…

Итак, программа называется FastStone Photo Resizer . На официальном сайте разработчика вы можете загрузить англоязычную версию программы.

Обратите внимание, что программа предназначена не только для обрезки изображений. Также вы сможете изменять размер, поворачивать изображение, настраивать глубину цвета, вносить различные корректировки, добавлять текст и водяные знаки, создавать рамку для изображения.

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

Когда изображения готовы, бросаем взгляд ниже. Выбираем расширение (параметр «Формат вывода «), в котором сохранится будущее изображение. Можно выбрать исходный формат, либо указать любой другой.Настройка параметров вывода (кнопка справа от списка форматов) для наилучшего качества изображения:

  • jpg : устанавливаем качество на 100%, подвыборка цветности — нет.
  • bmp : не меняем стандартные параметры.
  • gif : если на изображении присутствует прозрачность, включаем соответствующий параметр.
  • png : отключаем сжатие.
  • jp2 : устанавливаем максимальное качество — 1000.
  • tif : не меняем стандартные параметры.
  • pdf : устанавливаем максимальное качество — без потерь.

Вносить изменения не обязательно, здесь как хотите!

Далее выбираем папку, в которую попадут обработанные изображения. Можно убрать галочку с параметра, чтобы программа сохраняла изображения в исходную папку. Также можно отключить подтверждение замены файлов. Правда это необходимо если вы сохраняете в исходную папку, с исходным названием и с исходным форматом. Включаем дополнительные параметры обработки и нажимаем на кнопку «Настройка «.

В окне дополнительных возможностей переходим на вкладку «Кадр » и устанавливаем галочку на параметре активации. Ниже вводим новый размер (ширину и высоту) изображения.

Чтобы вы поняли как программа выполняет обрезку, приведу простой пример. Предположим размер исходного изображения — 604 (ширина) на 378 (высота). Я ввожу новый размер — 400 на 300. Если посчитать, по ширине будет обрезано 204 пикселя, а по высоте 78 пикселей.

Изначально основная точка находится в центре, обрезка выполняется по краям. В данном случае с каждого края по ширине будет обрезано по 102 пикселя (204 разделить на 2), с каждого края по высоте будет обрезано 39 пикселей (78 разделить на 2). Также вы вправе установить координаты точки верхнего левого угла. Только обрезка будет выполняться немного по другому. И нажимаем на кнопку «ОК «, чтобы закрыть окно дополнительных возможностей.

Теперь запускаем (кнопка «Преобразовать «) обработку добавленных изображений.

Спустя некоторое время (зависит от количества изображений) обработка будет завершена. Нажимаем на кнопку «Готово «.

Все, изображения обрезаны! Мне остается только выложить пример исходного и обработанного изображения:


Обязательно рассмотрите другие функции программы, возможно они тоже вам пригодятся!


Всем привет!

Недавно открыл для себя очень большой комбайн для обработки изображений. ​

Это консольный графический редактор ImageMagic . Если вам не хватает встроенных в Zennoposter возможностей по обработке изображений, то обратите внимания на него. Сказать, что ImageMagic имеет большой функционал, это не сказать ничего.
. Программа предоставляет настолько широкий функционал, что описать даже часть его в рамках одной статьи не возможно. Мне хочется показать вам что большинство по обработке изображений вам поможет решить данная программа. ImageMagic это не просто программа, а целый набор консольных утилит для создания, редактирования, конверта и просмотра изображений.
Да в zennoposter есть обработка изображений,но здесь все намного гибче и более настраиваемо. Но придется копаться в мануалах.
Ну что нахвалил ее я конкретно, давайте уже будем знакомится с программой более детальней.

Официальный сайт программы

    http://www.imagemagick.org/


Страничка для скачивания

    http://www.imagemagick.org/script/binary-releases.php

Я скачал эту версию


ImageMagick-6.9.2-8-portable-Q16-x86.zip


На офф сайте есть большая справка на английском языке. Через google translate вполне можно понять.

Примечание В порталб немного урезанная версия ​

. Итак распаковал архив в папку. Для себя я ее распаковываю в подпапку шаблона под именем img и уже обращаюсь из шаблона к этому редактору.

Из шаблона можно я напрямую к exe в этой папке через блок

Запуск программы
В качестве исполняемого файла указан путь к одной и утилит набора
В параметрах запуска указан полный путь к файлам. Обязательно берем пути в кавычки, так как если, попадутся пути с пропусками, это приведет к ошибкам в работе с программой ImageMagick. Как правило, сначала указываются команды и аргументы запуска, дальше пути к водящим файлам, а потом путь и имя файла куда сохранить результат.
В статье давайте очень кратко рассмотрим возможностьи, которые на мое мнения больше всего пригодятся при работе с зено постером.

Конвертация между разными форматами изображений.

Иногда бывает нужно с конвертировать файл капчы так как сервис не поддерживает формат. Для етого достаточно в параметрах 2 выходного файла указать расширенные в нужном нам формате.

Изменения размера изображений

Для изменения размера изображений используется команда -resize

Параметры -resize

1. -resize 500×400 (Изменяем размер изображения в пикселях, с сохранением соотношения сторон)
2. -resize 100×50! (Изменяем размер изображения в пикселях, без сохранения соотношения сторон)
3. resize 500 (Сжатие до 500 пикс. по ширине , с пропорциональным сжатием высоты )
4. -resize x500 (Сжатие до 500 пикс. по высоте , с пропорциональным сжатием ширины )
5. -resize 33% (Изменяем размер изображения в процентах)

В шаблоне добавлено все в качестве примера


! Внимание при копи пасте команд может не работать из за кодировок и тп.
Пользуйтесь примерами с шаблона - там работать будет точно!

Обрезка изображений


Для обрезки изображений можно использовать команду - -crop

    Crop 500x640+60+80


Где 500x640 это размер в пикселях зоны рисунка которою надо сохранить
+60 расстояния от левого края
+80 расстояния от левого верхнего края до зоны рисунка которою надо сохранить
На рисунке можно посмотреть детальней


Обрезка командой –shave

1. -shave 200x (Удаления 200 пикселей с левой и правой стороны)
2. -shave 200x100 (Удаления 200 пикселей справа и лева, и 100 пикселей сверху и снизу)

Обрезка командой -shop

Chop 200x1 Указанная команда удалит 200 пикселей с лева и 1пиксель сверху. (Так можно обрезать изображения только с одной из сторон )

Место откуда вырезаются пиксели можно поменять с помощью опции -gravity . Возможнытакиепараметрыв gravity

None, Center, East, Forget, NorthEast, North, NorthWest, SouthEast, South,SouthWest, West

Click to expand...

Пример


-chop 200x0 –gravityEast (Удалит 200 пикселей справа без сохранения соотношения сторон)
Примечание –shave обрезает с двох сторон, а –shop обрезает сверху и с боку. То есть с 2 сторон от угла. А от какого угла задается через –gravity

Добавим Примеры в зенно


Изменения веса картинок


Для изменения используется параметр –quality
У меня, почему то получалось облегчать только jpg формат.
Для других форматов я сначала конвертировал в jpg, облегчал файл, а потом уже в нужный формат. Немножко геморно но мне помогало.

Где 30 процент качества изображения где максимум 100.
Добавим сразу в шаблон этот пример

Поворот картинок


Для поворота используется параметр -rotate
И угол поворота в градусах. Можно со знаком –

При повороте если остается пустое место то оно заполняется белим цветом.
Моожно задать цвет через параметр –background
Справка по –background

Форматы указания цвета

http://www.imagemagick.org/script/command-line-options.php#fill

Click to expand...


Мне кажется самым удобным формат
"#ddddff" Вроде называется Hex. Подобрать цвет можно на сервисе онлайн

Итак для примера посмотрим так

    Rotate 64 –background “#E0384E”

Добавляем в зенку этот пример

Склеить несколько изображений с помощью ImageMagic


Для склейки изображения используется команда -montage

Пример

    Montage.exe *.jpg -tile 1x3 -geometry +0+0

*.jpg - говорит программе взять ВСЕ (*) файлы с расширением JPG из текущей папки
Лучше просто перечислить все нужные файлы через пробел.
-tile 1x3 - говорит программе разместить изображения в 1 столбец и 3 строки
-geometry +0+0 - не делать отступов и не менять размеры изображений;
Добавим в шаблон пример с несколькими входящими картинками

Пакетная обработка файлов незаменима при работе с большим количеством изображений, требующих однотипного редактирования. Практически любую рутинную операцию, связанную с обработкой (англ. batch mode), таким образом можно выполнить гораздо быстрее.

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

Далее будут рассмотрены способы пакетной обработки изображений по уровню сложности от самого простого до использования функций таких пакетов, как Adobe Photoshop и Adobe Lightroom. В конце обзора - сравнительная таблица (Таблица 1) и тест выполнения преобразования (Диаграмма 1).

Image Tuner

Простая программа, работающая по принципу «одного окна» и не слишком усложненная настройками. В левой части окна добавляются файлы для обработки, справа - указываются параметры конвертации. Доступен предосмотр по клику на эскиз изображения.

Среди возможностей преобразования - изменение оттенка, размера, ориентации изображения, добавление водяного знака. В наличии есть фильтры, но они настолько простые, что даже не имеют настроек и почему-то спрятаны в секции «Изменить размер». Половина настроек - на английском, оставшаяся часть переведена на русский.

Количество форматов для сохранения невелико - всего 5. На входе Image Tuner поддерживает такие популярные форматы, как JPEG, BMP, PNG, GIF, TIFF, а также RAW, NEF и другие.

Таким образом, очень простой конвертер для самой базовой обработки изображений.

Просмотрщик IrfanView, при своей бесплатности и небольшом размере, поддерживает и включает в себя функции конвертера, доступные через меню «Batch Conversion/Rename…». На выбор - один из трех режимов: пакетное переименование, преобразование и смешанный.

Для сохранения доступно около 20 форматов (меню «Output format»), при этом параметры доступны не для каждого из них.

Выбор других преобразований возможен только при активации «Use advanced options…», по нажатию кнопки «Advanced». Настройки позволяют изменить размеры, кадрировать изображение, отразить по горизонтали или вертикали, добавить водяной знак - стандартный набор для просмотрщика графики.

Однако на практике становится понятно, что «продвинутые» опции совершенно не интуитивны: все дело в том, что окна предосмотра не предполагается (предосмотр в главном окне относится к исходному изображению). Конечно, кадрировать фото или изменить его размер можно попиксельно. А как обойтись с фильтрами настройки яркости, баланса и других цветовых параметров, когда нужно указывать цифры? Исходя из вышесказанного, после применения преобразований и выхода из «Advanced» изменения можно будет увидеть только по окончанию конвертации. А вот для пакетного переименования файлов доступен тестовый режим.

Таким образом, назвать IrfanView удобным конвертером изображений нельзя. Его можно использовать лишь для базовых преобразований, не требующих предосмотра: изменение ориентации изображения, размера и формата сохранения.

AVS Image Converter является частью набора программ для работы с изображениями AVS4You. Видимо, поэтому в дистрибутив размером в 27 МБ (что не так и мало для конвертера), входят вспомогательные утилиты Software Navigator и Update Manager.

Поддерживаемых форматов изображений для записи - 8, для чтения - чуть больше 20. Для обработки можно импортировать фото из аккаунтов Flickr или Facebook (после предварительной авторизации).

Графический интерфейс дружелюбно расположен к неопытному пользователю: некоторые функции упрощены или заменены предустановками. При изменения размера изображения доступны преднастройки для разных мониторов и стандартных пропорций фотоснимков, что особенно полезно при публикации в Интернете.

Настроек преобразования (вкладка «Коррекция») немного: изменение яркости, контраста, цветовой температуры; эффекты размытия/резкости, добавление текстуры. Крайняя вкладка - «Водяной знак», позволяющий наложить изображение или текст на фото.

FastStone Photo Resizer

Больше всего здешнее пакетное преобразование напоминает IrfanView. Но, в отличие от последнего, FastStone Photo Resizer не так «враждебно» настроен по отношению к пользователю и предоставляет удобные расширенные параметры.

Интерфейс разделен на две части - что не очень рационально, поскольку область для выбора файлов занимает большую часть рабочего пространства.

Добавив изображения в очередь конвертации, можно указать формат выходного изображения («Output Format») и папку сохранения («Output Folder») .

Для доступа к инструментам преобразований активируется опция «Use Advanced Options (Resize…)». Набор преобразований сугубо базовый: изменение размеров, перспективы, добавление текста, водяного изображения, рамки. Настройки можно сохранить или загрузить из файла конфигурации, равно как в большинстве обозреваемых программ. Окна предосмотра нет.

В отдельную вкладку «Batch Rename» вынесен инструмент для пакетного переименования файлов. Помимо стандартной смены имени по маске, интересна функция «Search and Replace», с ее помощью легко подкорректировать название файлов без полной смены имени.

XnConvert - «отпочкование» от популярного просмотрщика изображений XnView. По сути, все те же самые действия, производимые в среде XnConvert, можно произвести и в XNView (о чем ниже), однако автономный конвертер имеет ряд отличий. Прежде всего, он не предназначен для просмотра. С одной стороны, ничего не отвлекает от функционала. С другой - если нужно узнать самую базовую информацию об исходном файле, приходится обращаться к другой программе-просмотрщику.

Вначале работы с программой нужно указать файлы для обработки (поддерживается перетаскивание, можно также указать с помощью кнопок). Следует обратить внимание, что сверху находятся столбцы для сортировки. При клике но любому из них в контекстном меню можно выбрать из множества других вариантов - список огромен. Впрочем, было бы удобней, если бы файлы отображались в виде таблицы, а не эскизов - тогда было бы удобно просматривать информацию об исходных файлов, а так ее попросту нет, и сортировка носит несколько «условный» характер - непонятно, для чего она.

Основная вкладка, где собран список преобразований - «Действия». Для бесплатной программы количество настроек приятно удивляет. Делятся преобразования на 4 группы:

  • Изображение - по большей части, работа с трансформацией и свойствами файла.
  • Коррекция - работа с уровнями, цветом.
  • Фильтр - применение эффектов размытия, усиления резкости, изменения фокуса.
  • Разное - по большей части, все те же эффекты.

Во вкладке выходные данные указываются опции сохранения обработанных файлов: маска наименования, расположение и графический формат. Для популярных форматов (JPG, GIF, PNG и т. п.) есть возможность указать дополнительные параметры сохранения. Имеется малоприметная, но весьма полезная опция по экспорту - можно загрузить обработанные фото на Picasa- или Flickr-аккаунт, упаковать или отправить по FTP или на email.

Импорт/экспорт сценариев (настроек преобразований) доступны в нижней части окна, кнопка «Загрузить сценарий».

Для чтения также доступно огромное количество форматов - более 500 (из тех, которые поддерживаются просмотрщиком XNView), с тем нюансом, что специфические требуют установки GhostScript либо плагина CAD.

Вкратце - о возможностях пакетной обработки фото в XnView. Окно настроек можно вызвать через меню «Инструменты - Пакетная обработка…».

Прежде всего, интерфейс отличается от XNConvert. Состоит всего из двух вкладок, в первой указывается формат и параметры сохранения. Во второй вкладке - список преобразований, которые, для активации и настройки, нужно добавить в правую часть окна. Возможность сохранения сценариев также предусмотрена, но формат не совместим с XnConvert: здесь XBS, в XNConvert - BAT.

Настройка преобразований в «Фотоконвертере»

Adobe Photoshop

Страница загрузки

Безусловно, в графический пакет Adobe Photoshop встроены необходимые инструменты по пакетному преобразованию фото. Актуальная на данный момент версия - CS6, в обзоре рассматривается CS5. Обработку можно производить с помощью экшенов (англ. «actions» - действия), операции Batch («File - Automate - Batch…») или скрипта Image Processor («File - Scripts - Image Processor…»).

Первый способ

Вначале, через палитру Actions записывается действие, которое будет применяться к каждому изображению. Лучше всего для этой цели взять «тестовый образец». На данном шаге список возможных преобразований ограничен лишь средствами Photoshop. Далее Action сохраняется в определенный набор (Set). По окончанию, экшен можно отредактировать в любом месте: например, оптимизировать, удалив лишние действия.

Для массового применения экшена, после его записи и редактирования нужно зайти в меню «File - Automate - Batch…». В группе настроек «Play» выбирается нужный экшен, определяются источник и папка назначения. Дополнительно можно указать маску для наименования файлов.

Второй способ

Чаще всего более приемлемым будет второй метод обработки с использованием скрипта Image Processor. Он удобен для выполнения таких простых действий, как смена формата или изменение размера изображения. Вызвать настройки можно через меню «File - Scripts - Image Processor…». Удобство подхода состоит в том, что не нужно записывать экшен. Все остальные настройки практически аналогичны вышеуказанному способу. Сохранение возможно только в JPEG/PSD/TIFF.

Программа Условия распространения Функциональность Форматы
Фильтры / эффекты Предосмотр Чтение Запись
Image Tuner Freeware Да Да 30+ 5
IrfanView Freeware Да Нет 80+ 20+
AVS Image Converter Shareware Да Да 20+ 8
FastStone Photo Resizer Freeware Нет Да 30+ 500+
XnConvert Freeware Да Да 500+ 30+
XnView Freeware Да Нет 500+ 30+
Фотоконвертер (Pro) trial Да Да 400+ 30+
Adobe Photoshop trial Да Нет JPG
Adobe Lightroom trial Да Нет 3

Конвертирование изображений 4288×2848 → 1024×680, формат JPG 100% (все настройки установлены по умолчанию, качество 100%), алгоритм преобразования и прогрессивный метод отключены.

Диаграмма 1. Сравнение скорости обработки в режиме изменения размера изображений

В программе «Фотоконвертер» не удалось выяснить скорость работы, поскольку в shareware-версии доступна обработка только 5 изображений.

Доброго времени суток.

Представьте задачу: вам нужно обрезать у картинки края (например по 10 px), затем повернуть ее, изменить размер и сохранить в другом формате. Вроде бы не сложно - открыл любой графический редактор (подойдет даже Paint, который есть в Windows по умолчанию) и провел нужные изменения. Но представьте, если у вас сотня или тысяча подобных картинок и изображений, каждую ведь не будешь в ручную редактировать?!

Для решения подобных задач есть специальные утилиты, предназначенные для пакетной обработки картинок и фотографий. С их помощью можно очень быстро изменить размер (например) у сотен картинок. Вот о них и будет данная статья. Итак…

I mBatch

Весьма и весьма не плохая утилита, предназначенная для пакетной обработки фотографий и картинок. Количество возможностей просто огромно: изменения размера картинок, подрезка краев, отражение, поворачивание, наложение водяных знаков, преобразование цветных фото в ч/б, регулирование размытия и яркости и т.д. К этому можно добавить и то, что программа бесплатная для некоммерческого использования, и то, что она работает во всех популярных версиях Windows: XP, 7, 8, 10.

После установки и запуска утилиты, для начала пакетной обработки фото, добавьте их в перечень редактируемых файлов при помощи кнопки Insert (с.м рис. 1).

Рис. 1. ImBatch - добавление фото.

Далее на панели задач программы нужно нажать кнопку «Добавить задание » (см. рис. 2). Затем перед вами предстанет окно, в котором можно указать то, как вы хотите изменить картинки: например, изменить их размер (так же показано на рис. 2).

После того, как выбранное задание будет добавлено - осталось только запустить обработку фото и дождаться окончательного результата. Время работы программы, главным образом, зависит от количества обрабатываемых картинок и от тех изменений, что вы хотите выполнить.

X nView

Одна из лучших программ для просмотра и редактирования картинок. Преимущества очевидны: очень легкая (не грузит ПК и не тормозит), большое количество возможностей (от простого просмотра и заканчивая пакетной обработкой фото), поддержка русского языка (для этого скачивайте стандартную версию, в минимальной русского - нет), поддержка новых версий Windows: 7, 8, 10.

Для запуска редактирования сразу нескольких картинок, в этой утилите нажмите сочетание кнопок Ctrl+U (либо зайдите в меню «Инструменты/Пакетная обработка «).

  • добавить фото для редактирования;
  • указать папку, куда будут сохранены измененные файлы (т.е. фото или картинки после редактирования);
  • указать преобразования, которые вы хотите выполнить для этих фото (см. рис. 5).

После этого можно нажать кнопку «Выполнить » и дожидаться результатов обработки. Как правило, программа редактирует картинки очень быстро (например, я сжал 1000 фото за чуть более, чем пару минут!).

I rfanView

Еще один вьювер с широкими возможностями обработки фото, в том числе и пакетной обработки. Сама по себе программа очень популярна (раньше она вообще считалась, чуть ли не базовой и рекомендовалась всеми и всем к установке на ПК). Возможно поэтому, почти на каждом втором компьютере можно найти этот вьювер.

Из преимуществ этой утилиты, которые я бы выделил:

  • очень компактная (размер установочного файла всего 2 МБ!);
  • хорошая скорость работы;
  • легкая масштабируемость (при помощи отдельных плагинов можно существенно расширить круг выполняемых ей задач - то есть ставишь только то что нужно тебе, а не все подряд по умолчанию);
  • бесплатная + поддержка русского языка (кстати, устанавливается так же отдельно:)).

Чтобы отредактировать сразу несколько изображений - запустите утилиту и откройте меню File и выбрать опцию Batch conversion (см. рис. 6, я буду ориентироваться на английский, так как после установки программы он ставится по умолчанию).

Рис. 7. Запуск конвейерного изменения фото.

После нажатия кнопки Start Batch программа перегонит все фотографии в новый формат и размер (в зависимости от ваших настроек). В общем-то, крайне удобная и полезная утилита, так же меня часто выручает (причем, даже не на своих компьютерах:)).

На сим статью завершаю, всего хорошего!

Недавно передо мной встала задача обрезать около сотни огромных картинок из фотобанка под несколько десятков разных размеров. Эти готовые картинки потом будут использоваться клиентами CMS для оформления своих сайтов. Прикинув сколько времени займет этот процесс в Фотошопе, я пригорюнился - встретить следующий Новый год за обрезкой картинок не входит в мои планы.

Идея

Мозг программиста не может существовать без программирования. Любая задача, которая требует повторения рутинных операций более 3 раз, сразу начинает рождать в голове вопросы «Как бы это автоматизировать?» и составлять наброски алгоритмов. Так произошло и на этот раз.

Немного «пораскинув» мозгами, я пришел к выводу, что надо ввести понятие точки фокуса и учитывать ее при обрезке. Если пропорции нового изображения близки к исходным, например, мы вырезаем из квадрата прямоугольник с соотношением сторон 3:4, то вообще все замечательно, - новое изображение даже не потеряет в композиции. Если размер нового изображения отличается разительно, например, это узкая полоска для слайдера, то как минимум сохраним наиболее значимую информацию. Не забывайте, речь все таки идет об автоматической обрезке.

Вот иллюстрация, для демонстрации механизма.

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

Я решил проверить свои умозаключения и поискать не сделал ли кто-нибудь уже что-то подобное. Нашлась HTML/CSS библиотека для адаптивной обрезки изображений github.com/adamdbradley/focal-point . Тут тоже используется понятие «точки фокуса», значит моя идея верна! Но мне нужна была готовая утилита, которая сможет генерить физические изображения. Такой найти не удалось.

Реализация

Тогда я взялся за Node.js, который хоть и не является моим постоянным рабочим инструментом, но который я очень люблю использовать для автоматизации и небольших утилит.

Алгоритм обрезки нового изображения получился следующим:

  1. Вычисляем пропорции конечного изображения:
    k=Wr/Hr ,
    где Wr и Hr - ширина и высота будущей картинки
  2. Определяем максимальный прямоугольник, который впишется в оригинальное изображение:
    if Wr >= Hr
    then Wm = Wi, Hm = Wi/k
    else Hm = Hi, Wm = Hm*k ,
    где Wi, Hi - размеры оригинала, а Wm, Hm - размеры максимального прямоугольника.
  3. Вычисляем новые координаты для точки фокуса:
    fx2 = fx*Wm/Wi ,
    fy2 = fy*Hm/Hi ,
    fx, fx - координаты точки фокуса на оригинальном изображении
  4. Делаем собственно обрезку, смещая прямоугольник на разницу между старыми и новыми координатами точки фокуса:
    crop(Wm, Hm, (fx-fx2), (fy-fy2))
  5. Уменьшаем результат до нужного размера:
    resize(Wr, Hr)
Для обработки изображений я взял модуль GraphicsMagick for node , потому что она обещала беспроблемную работу с графическими библиотеками под Windows. И почти не соврала. ImageMagick вместе с ней мне так и не удалось запустить (причем более старый модуль imagemagick-node работал без проблем), а вот альтернатива в виде GraphicsMagick заработала сразу и без шаманства. Теоретически на другой платформе должен заработать и ImageMagick, какой-то жесткой привязки к библиотеке в модуле gm нет.

В итоговую утилиту я добавил немного оптимизации для веба: из итоговой картинки вырезается вся EXIF, ICM и пр. информация и полученное маленькое изображение прогоняется фильтром резкости. При уменьшении с 3000х4000px до 200x300px это действительно необходимо.

Для удобства работы исходные данные принимаются в виде 2 файлов:

  1. formats.json - файл, в котором перечислены форматы в который нужно обрезать
  2. images.json - файл, в котором перечислены изображения и заданы точки фокуса. Здесь же можно задать куда и в каком качестве сохранять картинки.

Подробное о форматах файлов, установке и дополнительных возможностях можно почитать в репозитории на GitHub