Як обрізати зображення в пакеті, а потім повторно обробити однаковим чином


2

Я отримую автоматично створені скріншоти нашої програми, деякі з яких потребують обрізання, оскільки вони можуть стосуватися лише спливаючого вікна або невеликої частини екрана.

Чи можна відкрити новий знімок екрана, встановити спосіб його обрізання, обрізати його, а потім, скажімо, через місяць, коли з'являється нова версія знімка екрана, обрізайте його так само, як і попередню версію без потрібно знову вручну встановити область обрізки?

Іншими словами, я шукаю спосіб керування "проектом обрізання", що охоплює купу скріншотів того ж розміру (1920x1080) на джерелі, але різного розміру на виході з-за обрізки.

Отже, введення завжди 1920x1080, але я повинен сказати:

  • Обрізати деяку область з зображення A та зберегти його як JPG
  • Обрізайте іншу область із зображення B і збережіть її як JPG
  • тощо

Це має бути зроблено автоматично на основі деякого визначення кадрування, так що, коли я змінюю вхідні зображення, мені не потрібно повторно робити обрізку вручну. Це можливо?


Якщо ви хочете, щоб скріншот тільки спливаюче вікно, чому б не використовувати Alt-Print функцію екрана, який робить скріншот тільки спливаючих і зберігає, що в буфер обміну? (Я знаю, що це не відповідає на ваше запитання, тому це коментар). Крім того, більшість програм скріншотів можуть зробити знімок активного вікна (спливаюче вікно для прикладу) і зберегти його до зображення. Greenshot (безкоштовна програма) робить це теж.
LPChip

скріншоти генеруються автоматично, тому я не можу змінити той факт, що знімок екрана займає повний екран. Їх багато, і в декількох мовних версіях, тому автоматизація цього дуже корисна
Ondrej

1
Ви можете зробити це в Adobe Photoshop. Це називається пакетною обробкою. Ви виконуєте "дії" проти папки зображень і застосовує дії до зображень. Ви можете "записувати" ваші дії обрізання і відтворювати їх проти нових скріншотів. Припускаючи, що розкладка програми не змінила позицію.
skub

право! Мені це не сталося.
Ondrej

Ви хочете, щоб я відповів на це?
skub

Відповіді:


0

Існує багато програм, які обрізатимуть зображення в режимі "пакетної". Не знаючи своєї операційної системи, важко перерахувати їх.

Однак, якщо ви шукаєте ImageMagick, ви повинні знайти щось для своєї платформи.

Такі інструменти дозволяють вибирати зображення за назвою, розміром і т.д. і виконувати на них одне і те ж перетворення.


Так, я знаю, що це можливо, але мені потрібно, щоб зображення було різним розміром від оригінальних зображень. Я відредагував початкову публікацію, щоб відобразити це (див. Останній абзац із позначками).
Ondrej

Якщо ви зміните вхідні файли, чи будуть вони мати однакові назви?
Julian Knight

Позитивні, вони б.
Ondrej

Тоді вам потрібно лише створити скрипт пакетної обробки / оболонки з іменами. Це те, для чого є imagemagik. Кожен раз, коли ви оновлюєте файли, повторіть скрипт. Якщо змінитимуться лише деякі файли, вам потрібно буде відстежувати дату / час останнього запуску і запускати лише файли з більш новою датою / часом. Ви навіть можете використовувати ім, щоб перевірити зображення для їх оригінальних розмірів і обробляти відповідно, якщо хочете.
Julian Knight

Ти правий. Але чи можу я будь-яким чином уникнути необхідності вручну вказувати цифри (x-y зміщення і ширина-висота) параметрів обрізання? Чи можна так чи інакше зробити це, скажімо, показуючи зображення, вибираючи його, тоді як imagemagick обчислюватиме ці координати?
Ondrej
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.