Изрязване, Въртене и Преоразмеряване на Изображения
Изрязване на Изображения
Обикновено изрязването на изображения се отнася до премахването на външните части на изображението, което помага за подобряване на композицията. Изрязването може да се използва и за изрязване на част от изображението, за да се акцентира върху определената област. Aspose.PSD API поддържа два различни подхода към изрязване на изображения: чрез отмествания и чрез правоъгълник.
Изрязване чрез Отмествания
Класът 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 на Image и на събирането на енумерацията RotateFlipType.
Ротиране на Изображение на Конкретен Ъгъл
Aspose.PSD за .NET API разкрива метода RasterImage.Rotate, за да улесни потребителите си, които желаят да ротират изображение на конкретен ъгъл. За разлика от метода RasterImage.RotateFlip, методът RasterImage.Rotate приема три параметъра:
- Ъгъл на ротацията: Параметър от тип float, който определя ъгъла на ротация, към който трябва да се ротира изображението. Положителна стойност ротира изображението по посока на часовниковата стрелка; отрицателна стойност извършва обратна ротация.
- Пропорционално преоразмеряване: Параметър от тип Boolean, който указва дали размерът на изображението трябва да бъде променен в съответствие с проекциите на завъртения правоъгълник (краен точки). Ако е зададено на false, размерите на изображението ще останат непокътнати, и само вътрешното съдържание на изображението ще се завърти.
- Цвят на фона: Параметър от тип Color, който определя цвета, който да се попълни в задния план на завъртяното изображение.
По-долу е показан примерен код, демонстриращ употребата на метода RasterImage.Rotate.
Преоразмеряване на Изображения
Тази статия демонстрира начина на използване на Aspose.PSD за .NET, за да извършите операцията по Преоразмеряване на изображение. Aspose.PSD API предлага ефикасни и лесни за използване методи за постигане на тази цел. Aspose.PSD за .NET е изложил метода Resize за класа Image, който може да се използва за преоразмеряване на съществуващите изображения на летището. Има два претоварени метода на Resize, които да отговарят на нуждите на приложението.
Просто Преоразмеряване
Стъпките за извършване на Преоразмеряване са толкова прости, както в следващите точки:
- Заредете изображението чрез фабричния метод Load, изложен от класа Image.
- Извикайте метода Image.Resize, като посочите нова Височина & Ширина.
- Запазване на резултатите.
По-долу е показан примерен код, демонстриращ начина на Преоразмеряване на изображение.
Преоразмеряване с Енумерация ResizeType
Aspose.PSD API е изложил енумерация 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 | Преобразуване с използване на алгоритъма Lanszos с 7х7 филтър. |
NearestNeighbourResample | 6 | Преобразуване с използване на алгоритъма на най-близкия съсед. |