Използване на Graphics API за редактиране на слоеве в PSD файлове

Преглед

За да започнете, заредете PSD файла чрез метода Image.load() или създайте Psd Image от нулата. Използвайте променливата inputFile, за да представите пътя към вашия PSD файл и да посочите всякакви опции за зареждане с loadOpt, ако е необходимо.

След това получете достъп до първия слой на изображението на PSD, използвайки синтаксиса psdImage.getLayers()[0] за получаване на псевдоним на обекта за манипулиране на слоя.

За редактиране на слоя, създайте обект Graphics, като предадете слоя като параметър. Този обект предоставя различни методи за изчертаване на форми и прилагане на четки.

Обект Pen се използва за дефиниране на цвета и дебелината на контура на формите. Също така, четки като LinearGradientBrush се използват за дефиниране на цветовете за запълване.

Изчертавайте форми върху слоя, използвайки методи като graphics.drawEllipse() за изчертаване на формите и graphics.fillEllipse() за запълваще ги.

След като направите желаните промени върху слоя, запазвайте променения PSD файл чрез psdImage.save().

Освен това можете да запазите променения образ в други формати като PNG, като използвате съответните опции.

Това е! Успешно използвахте Graphics API на Aspose.PSD за Java, за да редактирате слоеве в PSD файл. Разгледайте още функции и възможности на библиотеката Aspose.PSD, за да подобрите възможностите си за редактиране на изображения.

Моля, проверете пълния пример.

Пример

public static void main(String[] args) {
try {
PsdLoadOptions loadOpt = new PsdLoadOptions();
loadOpt.setLoadEffectsResource(true);
loadOpt.setAllowWarpRepaint(true);
String inputFile = "AllTypesLayerPsd.psd";
String psdName = "using_graphics_output.psd";
String pngName = "using_graphics_output.png";
try (PsdImage psdImage = (PsdImage) Image.load((inputFile), loadOpt)) {
// You can use Graphics API for editing layers
Graphics graphics = new Graphics(psdImage.getLayers()[0]);
Pen pen = new Pen(Color.getAliceBlue());
LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(250, 250, 150, 100), Color.getRed(), Color.getGreen(), 45);
graphics.drawEllipse(pen, new Rectangle(100, 100, 200, 200));
graphics.fillEllipse(brush, new Rectangle(250, 250, 150, 100));
psdImage.save(psdName);
psdImage.save(pngName, new PngOptions());
}
} catch (Exception e) {
e.printStackTrace();
}
}