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


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.