Недавно передо мной встала задача обрезать около сотни огромных картинок из фотобанка под несколько десятков разных размеров. Эти готовые картинки потом будут использоваться клиентами 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

Обрезайте рисунки, чтобы удалять ненужные края.

В Office для Mac, а также в Office 2010 и более поздних версий помимо стандартной обрезки полей поддерживается обрезка изображений в виде определенной фигуры или с определенными пропорциями, а также обрезка заливки рисунком внутри фигуры.

Обрезка полей рисунка

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

Обрезка до указанной фигуры


Другие виды обрезки

Обрезка до стандартных пропорций

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

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

Добавление рисунка к фигуре

Изменение размера фигуры

Чтобы изменить размеры фигуры, сохранив ее базовое форматирование, выделите фигуру и перетащите один из маркеров изменения размера.

Настройка заполнения фигуры рисунком

Если рисунок обрезан или заполняет фигуру не полностью, используйте инструменты Вписать и Заполнить в меню Обрезать .

Изменение или обрезка фигуры с помощью команды "Начать изменение узлов"

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

Обрезка рисунка без использования Office

Обрезанные фрагменты сохраняются в файле рисунка. Удалив их, можно уменьшить размер файла. Это рекомендуется сделать также для того, чтобы предотвратить просмотр удаленных фрагментов рисунка другими пользователями.

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

Совет: Дополнительные сведения об уменьшении размера файла рисунка и его сжатии см. в статье Уменьшение размера файла рисунка в Microsoft Office .

См. также

Обрезка полей рисунка

Примечание: Обрезанные области сохраняются в файле изображения. Сведения о том, как окончательно удалить их и уменьшить размер рисунка, см. в разделе Удаление обрезанных областей рисунка .

Обрезка до указанной фигуры

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

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

Другие виды обрезки

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

Обрезка для размещения в фигуре или для ее заполнения

После добавления рисунка к фигуре можно настроить его с помощью инструментов Вписать и Заливка .

    Выберите Заливка , чтобы использовать заливку рисунком, но удалить (или "обрезать") его лишние части,

    Вписать

Удаление обрезанных областей рисунка

Важно:

См. также

Обрезка полей рисунка


Обрезанные области сохраняются в файле изображения. Сведения о том, как окончательно удалить их и уменьшить размер рисунка, см. в разделе .

Обрезка до указанной фигуры

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

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

    Откройте вкладку Формат рисунка .

    (Если вкладка Формат рисунка не отображается, убедитесь в том, что вы выбрали рисунок, а не фигуру).

    В разделе Коррекция щелкните стрелку рядом с командой Обрезка , выберите пункт Маска к фигуре , выберите тип фигуры и щелкните фигуру, до которой требуется обрезать изображение.

    Эта фигура будет сразу применена к рисунку.

    Если вы хотите изменить ее форму, на ленте нажмите кнопку Обрезать еще раз.

    На краях и в углах рисунка появятся черные маркеры обрезки.

    Перетащите маркеры обрезки, если требуется обрезать поля рисунка, и щелкните мышью за пределами рисунка.

    Щелкните любое место за пределами рисунка.

Другие виды обрезки

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

Обрезка для размещения в фигуре или для ее заполнения

После добавления рисунка к фигуре можно настроить то, как рисунок будет вписан в фигуру, с помощью инструментов Вписать и Заливка :

    Чтобы использовать заливку рисунком, но удалить (или "обрезать") его лишние части, выберите Обрезка для заливки .

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

    Выберите рисунок, который необходимо разместить в фигуре.

    Откройте вкладку Формат рисунка .

    (Если вкладка Формат рисунка

    В разделе Коррекция щелкните стрелку рядом командой Обрезка , выберите пункт Обрезать по заполнению или Обрезать по размеру , а затем щелкните любое место за пределами изображения.

    По завершении нажмите клавишу ESC.

Удаление обрезанных областей рисунка

Обрезанные фрагменты сохраняются в файле рисунка. Удалив их, можно уменьшить размер файла. Это рекомендуется сделать также для того, чтобы скрыть удаленные фрагменты рисунка от просмотра другими пользователями.

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

    Выберите один или несколько рисунков, из которых вы хотите удалить обрезанные области.

    Откройте вкладку Формат рисунка .

    (Если вкладка Формат рисунка не отображается, убедитесь в том, что вы выбрали рисунок).

    В разделе Коррекция выберите команду Сжать и установите флажок Удалить обрезанные участки рисунка .

См. также

Обрезка рисунка

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

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

Называется эта чудо-программа — ImBatch . С ней пакетная обработка фотографий станет для Вас развлечением, а не утомительной работой.

Сегодня практически у каждого есть телефон (смартфон) с встроенной фотокамерой и поэтому количество цифровых фотографий на диске компьютера постоянно увеличивается в геометрической прогрессии. Как успевать менять им всем размер, название, качество, конвертировать их и применять к ним различные фильтра?

Вам поможет в этом бесплатная (для некоммерческого использования) компьютерная программа ImBatch, которая именно для пакетной обработки множества фотографий и предназначена.

ImBatch — пакетная обработка фотографий

Работать в этой программе очень легко, просто и даже приятно, благодаря множеству встроенных скинов (обложек)…

Ничего сложного в ImBatch нет — добавляем фото (можно даже целую папку сразу добавить)…



…выделяем одно изображение, несколько или сразу все…

…и назначаем задание (которых великое количество в программе)…

Как видите — можно пакетно обрезать фотки, изменять их размер, отражать, поворачивать, изменять теги или удалять их, переименовывать все фото, подкорректировать цвета, контраст и много других операций сделать. Нет смысла их все перечислять — Вы сами всё увидите запустив программу…

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

Не «проскакивайте» предупреждения — читайте их…

Более подробное описание всех заданий для пакетной обработки изображений в программе ImBatch Вы найдете на её официальной странице . Там же есть и видео-уроки — рекомендую просмотреть их.

Кстати, под кнопкой «Инструменты» Вы найдёте несколько полезных утилит — редактор контекстного меню, редактор скриптов, редактор EXIF и IPTC тегов, а также монитор новых файлов в заданных папках с изображениями…

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Нужно обрезать множество изображений? Существует достаточно много бесплатных инструментов для решения такой задачи. Но что если вы используете чужой компьютер (например, в интернет-кафе) или нет установленного Photoshop? Решение может превратиться в ночной кошмар с перебором картинок, особенно, если каждая имеет свои требования к границам обрезки.

Но есть бесплатный сервис Cropp.me который обрежет для вас любые изображения до любого заданного размера... автоматически.

Для запуска процесс нужно перейти на сайт Cropp.me и нажать на кнопку Upload Your Images (Загрузите ваши изображения).

Нажатие на кнопку откроет окно файлового менеджера. Выбираем нужные изображения и запускаем загрузку. Затем на экране выбираем размер обрезки. Можно выбрать несколько размеров или добавить свой.

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

Нажатие на кнопке редактирования открывает для вас возможность изменить размер обрезанной области. Когда результат будет удовлетворять вас. нажмите кнопку Confirm (Подтверждаю).

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

После проверки всех изображений нажмите Download All Cropps (Скачать все обрезанные изображения) для скачивания результата на свой компьютер.

Результат будет скачан в виде архива.

Распаковываем архив и находим там обрезанные изображения.

Сервис использует хитрый алгоритм для определения области обрезки.