Използване на 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(); | |
} | |
} |