Изрязване, Завъртане и Преоразмеряване на Изображения

Изрязване на Изображения

Изрязването на изображения обикновено се отнася до премахване на външните части на изображението, за да се подобри композицията. Изрязването може също така да се използва, за да се отреже част от изображението и да се увеличи фокусът върху определена област. API на Aspose.PSD поддържа два различни подхода за изрязване на изображения: чрез измествания и чрез правоъгълник.

Изрязване чрез Измествания

Класът RasterImage предоставя претоварена версия на метода Crop, който приема 4 целочислени стойности, означаващи Ляво, Дясно, Горе и Долу. На базата на тези четири стойности, методът Crop премества границите на изображението към центъра на изображението, като отхвърля външната част. Долният фрагмент от кода демонстрира как да изрежете изображение чрез измествания.

Изрязване чрез Правоъгълник

Класът RasterImage предоставя още една претоварена версия на метода Crop, който приема инстанция на класа Rectangle. Можете да отрежете произволна част от изображението, като предоставите желаните граници на обекта Rectangle. Долният фрагмент от кода демонстрира как да изрежете произволно изображение чрез правоъгълник.

Завъртане и Отразяване на Изображение

Aspose.PSD за Java е лесна за използване библиотека, защото предоставя прости методи за извършване на сложни операции. Например, Aspose.PSD за Java е предоставила метода RotateFlip за базовия клас Image, ако приложението изисква завъртане на изображение. Независимо от формата на изображението, библиотеката може да извърши конкретното завъртане и отражение на него.

Завъртане на Изображение

Методът Image.RotateFlip може да се използва за завъртане на изображението с 90/180/270 градуса и огледално отражение хоризонтално или вертикално. Методът Image.RotateFlip приема параметър RotateFlipType, който посочва типа завъртане и отражение, които да се приложат към изображението. Стъпките за изпълнение на Завъртане и Отражане са толкова прости, както следва:

  1. Заредете изображението чрез фабричния метод Load, изложен от класа Image.
  2. Извикайте метода Image.RotateFlip, като указвате съответния RotateFlipType.
  3. Запазете резултата.

Долният кодов пример демонстрира как да зададете свойството RotateFlip на изображение и избора на енумерацията RotateFlipType.

Завъртане на Изображение на Конкретен Ъгъл

API-то на Aspose.PSD за Java излага метода RasterImage.Rotate, който да улесни потребителите, които желаят да завъртят изображение на конкретен ъгъл. За разлика от метода RasterImage.RotateFlip, методът RasterImage.Rotate приема три параметра:

  1. Ъгъл на завъртане: Параметър от тип float, който посочва ъгъла на завъртане, на който изображението трябва да се завърти. Положителна стойност завърта изображението по часовниковата стрелка; отрицателна стойност извърща завъртане обратно на часовниковата стрелка.
  2. Пропорционално преоразмеряване: Параметър от тип Boolean, който посочва дали размерът на изображението трябва да се промени според проекциите на завъртаният правоъгълник (крайни точки). Ако е зададено на false, размерите на изображението няма да бъдат променени, а само вътрешното съдържание на изображението ще бъде завъртено.
  3. Цвят на фона: Параметър от тип Color, който определя цвета, който да се попълни в задния план на завъртяното изображение.

Долният кодов фрагмент демонстрира използването на метода RasterImage.Rotate.

Преоразмеряване на Изображения

Тази статия демонстрира използването на Aspose.PSD за Java за извършване на операция за Преоразмеряване на изображение. API-тата на Aspose.PSD откриват ефикасни и лесни за използване методи за постигане на този цел. Aspose.PSD за Java е изложила метода Resize за класа Image, който може да се използва за преоразмеряване на съществуващи изображения на ход. Има две претоварени версии на метода Resize, за да отговарят на нуждите на приложението.

Просто Преоразмеряване

Стъпките за изпълнение на Преоразмеряване са толкова прости, както следва:

  1. Заредете изображението чрез фабричния метод Load, изложен от класа Image.
  2. Извикайте метода Image.Resize, като посочите новата Височина и Ширина.
  3. Запазете резултата.

Долният кодов пример демонстрира как да преоразмерите изображение.

Преоразмеряване с Използване на Енумерация ResizeType

API-тата на Aspose.PSD са изложили енумерацията ResizeType, която може да се използва с Image.Resize, за постигане на желаните резултати. Долният кодов фрагмент демонстрира използването на енумерацията ResizeType, като подробностите за членовете на енумерацията ResizeType могат да бъдат намерени в долната част на тази страница.

Ако искате качествени резултати след прилагане на преоразмеряването, е препоръчително винаги да използвате ResizeType.LanczosResample, защото той ще произведе висококачествени резултати, но може да работи по-бавно от ResizeType.NearestNeighbourResample. От друга страна, алгоритъмът ResizeType.NearestNeighbourResample се използва специално за бързо преоразмеряване, като жертва качеството на изображението. Този метод може да бъде полезен за генериране на миниатюри в реално време или подобни процеси, където е необходимо представителността.

Преоразмеряване на Изображение Пропорционално

Можете да преоразмерите изображения, като подавате новите стойности за височина и ширина като параметри на метода Image.Resize, но в този случай трябва да изчислите съотношението между страните на изображението. Това се дължи на факта, че когато ширината или височината на изображението се променят, изображението или се мащабира, или се свива, за да запълни новия размер. Ако промените в ширината и височината на изображението не са пропорционални, това може да доведе до изтегляне и изкривяване на резултата. Тази статия демонстрира използването на API на Aspose.PSD за Java за преоразмеряване на изображения, като подавате новите стойности за височина или ширина, като позволявате на API-то автоматично да изчисли другата пропорционална стойност.

Енумерация ResizeType

ResizeType определя типа преоразмеряване, което трябва да се извърши върху изображението в зависимост от избрания филтър.

Членове на Енумерация ResizeType

Име на Член Стойност Описание
LeftTopToLeftTop 0 Лявата горна точка на новото изображение ще съвпадне с лявата горна точка на оригиналното изображение. Ако е необходимо, ще се извърши изрязване.
RightTopToRightTop 1 Правата горна точка на новото изображение ще съвпадне с дясната горна точка на оригиналното изображение. Ако е необходимо, ще се извърши изрязване.
RightBottomToRightBottom 2 Долната дясна точка на новото изображение ще съвпадне с долната дясна точка на оригиналното изображение. Ако е необходимо, ще се извърши изрязване.
LeftBottomToLeftBottom 3 Лявата долна точка на новото изображение ще съвпадне с лявата долна точка на оригиналното изображение. Ако е необходимо, ще се извърши изрязване.
CenterToCenter 4 Центърът на новото изображение ще съвпадне с центъра на оригиналното изображение. Ако е необходимо, ще се извърши изрязване.
LanczosResample 5 Повторен примерен преобразуващ алгоритъм, използващ Ланкозов алгоритъм с маска 7х7.
NearestNeighbourResample 6 Преобразуване с най-близък съседен алгоритъм.