Як вирізати зображення на 30% у Unix?


15

Я хочу вирізати 30% зверху зображення. Я знаю нитку Як вирізати дійсно великі растрові зображення на менші шматки? але успішного підходу немає, тому що я не можу знайти міру відстані convertвід нуля до кінця , лише за абсолютними розмірними значеннями. Псевдокод

convert -crop-y -units-percentage 0x30 heart.png 

Рис. 1 Вхідний рисунок

введіть тут опис зображення

Я можу виконати завдання з LaTeX, adjustboxале вихід у файлі pdf насправді не кінцевий результат, а його представлення. Таким чином, копіювання зображення з PDF-документа дає вихідне зображення. Тож цей підхід провалився.


1
Ви можете використовувати imagemagick, identifyщоб побачити, наскільки велике зображення.
pfnuesel

Загальний підхід - це вставити значення, необхідне в командному рядку, використовуючи $(command). Тоді вам просто потрібно написати командний рядок, який може обчислити необхідне значення. Тут ви попросите перетворити, щоб описати зображення, і передати його там, де ви можете зіставити потрібне значення, і зробити необхідний розрахунок і роздрукувати результат.
Thorbjørn Ravn Andersen

Відповіді:


23

Ви можете обрізати відсоток свого зображення, хоча в цьому випадку, щоб уникнути виконання додаткових команд для отримання висоти та ширини зображення (для того, щоб розрахувати зміщення обрізання, яке за замовчуванням є відносно лівого верхнього кута), вам також доведеться обрізати відносно сили тяжіння (щоб ваше зміщення обрізання було відносно нижнього лівого кута зображення):

convert -gravity SouthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg

Підтверджено, такий підхід працює! - - Ви можете змінити цей підхід тощо, NorthWestщоб вирізати знизу. Чудово!
Лео Леопольд Герц 준영

5

Команда повинна бути:

convert heart.png -gravity south -crop 100x70% +repage heart-out.png

1
@ LéoLéopoldHertz 준영 Я неправильно розумію питання, спробуйте змінити, будь ласка
GAD3R

1
Ваш новий підхід скорочується на абсолютні одиниці, а не на відсотки. Тепер правильний напрямок зрізу зверху.
Лео Леопольд Герц 준영
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.