Обрізання зображень
Обрізання зображень зазвичай відноситься до видалення зовнішніх частин зображення для покращення кадру. Також обрізання може використовуватися для видалення деякої частини зображення для збільшення фокусу на певній області. API Aspose.PSD підтримує два різні підходи до обрізки зображень: за зсувами та за прямокутником.
Обрізання за допомогою зсувів
Клас RasterImage надає перевантажену версію методу Crop, яка приймає 4 цілочисельні значення, що позначають Ліворуч, Праворуч, Зверху та Знизу. На основі цих чотирьох значень метод Crop переносить межі зображення до центру зображення, відкидаючи зовнішню частину. Нижче наведена фрагмент коду, що демонструє, як обрізати зображення за допомогою зсувів.
Обрізання за допомогою прямокутника
Клас RasterImage надає іншу перевантажену версію методу Crop, яка приймає екземпляр класу Rectangle. Ви можете вирізати будь-яку частину зображення, надаючи потрібні межі об’єкту Rectangle. Нижче наведена фрагмент коду, що демонструє, як обрізати будь-яке зображення за допомогою прямокутника.
Обертання та віддзеркалення зображення
Aspose.PSD для .NET - це проста у використанні бібліотека, оскільки вона надає прості методи для виконання складних операцій. Наприклад, Aspose.PSD для .NET надає метод RotateFlip для свого базового класу Image, якщо додаток потребує обертання зображення. Незалежно від формату зображення, бібліотека може виконувати конкретну процедуру обертання та віддзеркалення на ньому.
Обертання зображення
Метод Image.RotateFlip можна використовувати для обертання зображення на 90/180/270 градусів та віддзеркалювання зображення по горизонталі або вертикалі. Метод Image.RotateFlip приймає параметр RotateFlipType, що вказує тип обертання та віддзеркалення, яке потрібно застосувати до зображення. Кроки для виконання обертання та віддзеркалення є простими, як показано нижче:
- Завантажте зображення за допомогою фабричного методу Load, доступного класом Image.
- Викличте метод Image.RotateFlip, вказуючи відповідний RotateFlipType.
- Збережіть результат.
Наступний приклад коду демонструє, як встановити властивість RotateFlip зображення та перелічення RotateFlipType.
Обертання зображення під кутом
API Aspose.PSD для .NET надає метод RasterImage.Rotate для спрощення користувачам, які бажають обертати зображення під певним кутом. На відміну від методу RasterImage.RotateFlip, метод RasterImage.Rotate приймає три параметри:
- Кут обертання: Параметр типу float, який вказує кут обертання, на який потрібно повернути зображення. Позитивне значення обертає зображення за годинниковою стрілкою; від’ємне значення виконує обертання проти годинникової стрілки.
- Пропорціональне зміщення: Параметр типу Boolean вказує, чи потрібно змінювати розмір зображення відповідно до проекцій оберненого прямокутника (точок кутів). Якщо встановлено значення false, розміри зображення залишаться незмінними, а обертається лише внутрішній вміст зображення.
- Колір фону: Параметр типу Color вказує колір, який буде заповнено у фоні обернутого зображення.
Нижче наведена фрагмент коду, що демонструє використання методу RasterImage.Rotate.
Зміна розміру зображень
У цій статті показано використання Aspose.PSD для .NET для виконання операції зміни розміру зображення. API Aspose.PSD надали ефективні та легкі використовувані методи для досягнення цієї мети. Aspose.PSD для .NET надали метод Resize для класу Image, який може бути використаний для зміни розміру існуючих зображень на льоту. Є дві перевантажені версії методу Resize для відповідності потребам додатка.
Проста зміна розміру
Кроки для виконання зміни розміру є простими, як показано нижче:
- Завантажте зображення за допомогою фабричного методу Load, який наданий класом Image.
- Викличте метод Image.Resize, вказавши нову висоту та ширину.
- Збережіть результат.
Наступний приклад коду демонструє, як змінити розмір зображення.
Зміна розміру з використанням переліку ResizeType
API Aspose.PSD надали перелік ResizeType, який може бути використан в поєднанні з методом Image.Resize для досягнення необхідних результатів. Нижче наведений фрагмент коду, що демонструє використання переліку ResizeType, тоді як деталі елементів переліку ResizeType можна знайти у низу цієї сторінки.
Якщо ви прагнете отримати якісний результат після застосування зміни розміру, рекомендується завжди використовувати ResizeType.LanczosResample, оскільки він виведе високоякісні результати, але може працювати повільніше, ніж ResizeType.NearestNeighbourResample. З іншого боку, алгоритм ResizeType.NearestNeighbourResample, спеціально призначений для швидкого змішування, при цьому жертвуючи якістю зображення. Цей метод може бути корисним для генерації мініатюр в реальному часі або схожих процесів, де необхідна продуктивність.
Зміна розміру зображення пропорційно
Ви можете змінювати розмір зображень, передаючи нові значення висоти та ширини як параметри до методу Image.Resize, але в такому випадку вам доведеться самостійно розраховувати відношення сторін. Це тому, що коли ширина або висота зображення змінюється, зображення масштабується або стискається для заповнення нового розміру. Якщо зміни до ширини та висоти зображення не відповідають один одному, це може призвести до розтягнутого та викривленого результату. В цій статті показано використання Aspose.PSD для .NET API для зміни розміру зображення, передаючи або нову висоту, або ширину, дозволяючи API автоматично розраховувати інше пропорційне значення.
Перелік ResizeType
ResizeType визначає тип зміни розміру, яку слід виконати над зображенням на основі вибраного фільтру.
Члени переліку ResizeType
Назва члена | Значення | Опис |
---|---|---|
LeftTopToLeftTop | 0 | Лівий верхній кут нового зображення співпаде з лівим верхнім кутом оригінального зображення. Відбудеться обрізання за необхідності. |
RightTopToRightTop | 1 | Правий верхній кут нового зображення буде співпадати з правим верхнім кутом оригінального зображення. Відбудеться обрізання за необхідності. |
RightBottomToRightBottom | 2 | Правий нижній кут нового зображення буде співпадати з правим нижнім кутом оригінального зображення. Відбудеться обрізання за необхідності. |
LeftBottomToLeftBottom | 3 | Лівий нижній кут нового зображення буде співпадати з лівим нижнім кутом оригінального зображення. Відбудеться обрізання за необхідності. |
CenterToCenter | 4 | Центр нового зображення буде співпадати із центром оригінального зображення. Відбудеться обрізання за необхідності. |
LanczosResample | 5 | Перевибірка за допомогою алгоритму Ланцоша за допомогою маски 7x7. |
NearestNeighbourResample | 6 | Перевибірка за допомогою алгоритму найближчих сусідів. |