змінити розмір
-resize 400x300+20+30(як -scaleі -sampleприклади нижче) перетворює вхід у вихідне зображення, яке має розміри пікселів 400x300. Він також зміщує вихід на 20 пікселів праворуч і на 30 пікселів унизу. Крім того, є ще кілька відмінностей між -scale:
-resizeпідтримує додаткове налаштування -filter(яке має відбуватися в командному рядку перед використанням -resize!).
-filter визначає точний алгоритм, який використовуватиметься для кольорів доданих пікселів у разі збільшення, або для кольорів, що використовуються для решти пікселів, коли деякі їх сусіди видаляються у разі зменшення.
Щоб отримати список підтримуваних фільтрів, просто запустіть convert -list filter.
-filter point -resize 400x300створює точно такий же результат, як і -sample 400x300зараз, але працює все одно трохи повільніше.
Якщо не встановити поряд (раніше) -resize, перетворення буде тихо за замовчуванням -filter Lanczosповільніше, але яке створює набагато кращу якість (оскільки враховує кольори всіх оточуючих пікселів для будь-яких нещодавно доданих), ніж -filter pointвиробляє (яке використовує найближчий правило сусіда для визначення кольору щойно доданих пікселів).
зразок
-sample 400x300перетворює вхідне зображення у вихідне зображення, яке має розмір пікселів 400x300. Однак є кілька дуже важливих відмінностей між -resize:
-sampleне підтримує додаткове налаштування -filter; якщо встановлено в будь-якому випадку, то -filterпросто ігнорується.
Під час збільшення (оскільки розмір вхідного зображення може бути меншим ніж 400x300) пікселі копіюються в блоки.
При мініфікації (оскільки розмір вхідного зображення може бути більшим ніж 400x300) пікселі вибірковуються за допомогою дуже простого алгоритму: деякі рядки та стовпці просто пропускаються.
Аргумент геометрії для -sampleне підтримує жодної частини зміщення (на відміну від -resize, яка поважає директиви зміщення для виводу).
На виході ніколи не буде більше (різних) кольорів, ніж було на вхідному зображенні; він може мати менше кольорів.
Тому -sampleце дуже швидко (швидше, ніж -resize), але якість виводу гірше (як правило) гірша: ви можете легко отримати надзвичайні ефекти блокування та псевдонімування результату.
Важливою особливістю -sampleє те, що нове зображення не буде містити нових кольорів, хоча деякі кольори з вихідного зображення можуть зникнути.
перепробовувати
-resampleвикористовує в якості параметра бажану XxY роздільну здатність , а не геометріюXxY пікселів цільового зображення. Метою цього оператора є збереження винесене розмір зображення: Припустимо , що ваші заходи зображення 4 дюйма на 3 дюйми на пристрої , яке робить його на 300 DPI. Потім попросіть або змінити розмір зображення так, щоб воно (знову) становило 4 дюйма на 3 дюйма на пристрої 72 DPI.-resample 72-resample 72x72
Ця операція працює лише для таких зображень, які вже мають бажану роздільну здатність, збережену у своїх метаданих (не всі формати зображень підтримують концепцію роздільної здатності зображень - JPEG, PNG та TIFF).
Якщо вихідне зображення має формат, у якому відсутня внутрішня підтримка роздільної здатності зображення, то (передбачувана) вихідна роздільна здатність зображення повинна бути вказана через -densityкомандний рядок перед вказівкою -resampleроздільної здатності.
масштаб
-scale 400x300видає еквівалентний результат (але швидший, оскільки дозволяє уникнути всієї обробки фільтрів), як і використання -filter box -resize 400x300. Він також повністю ігнорує будь-які поточні -filterналаштування.
Під час мініфікації він змінює розмір зображення, просто замінюючи кольори пікселів, усереднюючи відповідні вхідні кольори пікселів разом.
При збільшенні він просто копіює відповідні вхідні пікселі для необхідних додаткових пікселів.
адаптивний розмір
-adaptive-resize 400x300не підтримує (або ігнорує, якщо встановлено) зміщену частину параметра геометрії, а також ігнорує -gravityпараметр, якщо він присутній.
- Він використовує за замовчуванням залежну від даних триангуляцію при зміні розміру (якщо метод зміни розміру не замінено додатковим вказівкою
-filter [something]).
ескіз
-thumbnailпрацює так само, як -resizeі з деякими відмінностями:
Він оптимізований для швидкості.
Він також видаляє будь-які вбудовані кольорові профілі, щоб зменшити розмір файлів мініатюр.
Наступна відповідь показує кілька (проілюстрованих!) Прикладів -resizeдирективи. Кожна ілюстрація показує різний результат, залежно від `` тонких деталей '' методу точного зміни розміру: