Lägg till nytt lager till PSD i Java

Adobes populära Photoshop-applikation använder PSD(Photoshop Document) som ett inbyggt bildfilformat. En PSD-fil kan innehålla flera lager för att skapa logotyper, broschyrer och andra bilder. I vissa fall kan vi behöva manipulera PSD-filerna programmatiskt. I den här artikeln kommer vi att lära oss hur man lägger till ett nytt lager till en PSD i Java.

Följande ämnen ska behandlas i den här artikeln:

  1. Java PSD API för att lägga till nya lager
  2. Lägg till ett nytt lager till PSD
  3. Lägg till ett nytt textlager till PSD

Java PSD API för att lägga till nya lager

För att skapa nya lager i PSD-filer kommer vi att använda Aspose.PSD for Java API. Det stöder att skapa, redigera eller manipulera PSD och flera andra filformat som stöds.

Klassen PsdImage i API:t gör det möjligt att ladda, redigera och spara PSD-filer. Det ger också funktionalitet för att uppdatera egenskaper, lägga till vattenstämplar, utföra grafikoperationer eller konvertera ett filformat till ett annat.

Metoden PsdImage.AddRegularLayer gör det möjligt att lägga till ett nytt vanligt lager. Metoden AddTextLayer(string, Rectangle) för klassen PsdImage lägger till ett nytt textlager till PSD:n.

Vänligen antingen ladda ner JAR för API eller lägg till följande pom.xml-konfiguration i en Maven-baserad Java-applikation.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-psd</artifactId>
    <version>21.7</version>
</dependency>   

Lägg till nytt lager till PSD med Java

Vi kan lägga till ett nytt lager till en PSD-fil genom att följa stegen nedan:

  1. Först laddar du en PSD-fil som PsdImage med hjälp av klassen Image.
  2. Förbered sedan ett objekt att lägga till, till exempel rektangel.
  3. Anropa sedan addRegularLayer()-metoden.
  4. Alternativt kan du ställa in lagerpositionen som topp, vänster, höger och botten.
  5. Efter det tilldelar du objektet till lagret med metoden saveArgb32Pixels() .
  6. Slutligen sparar du utdatafilen med metoden save().

Följande kodexempel visar hur man lägger till ett nytt lager i en PSD-fil i Java.

// Detta kodexempel visar hur man skapar nya lager i PSD-fil.
String sourceFileName = "C:\\Files\\OneLayer.psd";
String exportPath = "C:\\Files\\AddNewLayer.psd";

// Ladda en befintlig PSD
PsdImage im = (PsdImage)Image.load(sourceFileName);

// Förbereder två int-arrayer
int[] data1 = new int[2500];
int[] data2 = new int[2500];

// Definiera rektanglar
Rectangle rect1 = new Rectangle(0, 0, 50, 50);
Rectangle rect2 = new Rectangle(0, 0, 100, 25);

for (int i = 0; i < 2500; i++)
{
    data1[i] = -10000000;
    data2[i] = -10000000;
}

// Lägg till lager 1
Layer layer1 = im.addRegularLayer();
layer1.setLeft(25);
layer1.setTop(25);
layer1.setRight(75);
layer1.setBottom(75);
layer1.saveArgb32Pixels(rect1, data1);

// Lägg till lager 2
Layer layer2 = im.addRegularLayer();
layer2.setLeft(25);
layer2.setTop(150);
layer2.setRight(125);
layer2.setBottom(175);
layer2.saveArgb32Pixels(rect2, data2);

// Spara PSD
im.save(exportPath);
Add-New-Layer-to-PSD-Programmatically-using-Java

Lägg till nytt lager till PSD Programmatiskt med Java

Lägg till nytt textlager till PSD med Java

Vi kan lägga till ett nytt textlager till en PSD-fil genom att följa stegen nedan:

  1. Först laddar du PSD-filen som PsdImage med hjälp av klassen Image.
  2. Därefter definierar du en rektangel.
  3. Anropa sedan addTexLayer()-metoden. Det tar textinmatning och ett rektangelobjekt som argument.
  4. Efter det ställer du in lagerpositionen som Top, Left, Right och Bottom.
  5. Spara slutligen utdatafilen med metoden save().

Följande kodexempel visar hur man lägger till ett nytt textlager till en PSD-fil i Java.

// Detta kodexempel visar hur man skapar nya lager i en PSD-bildfil.
String sourceFileName = "C:\\Files\\sample.psd";
String exportPath = "C:\\Files\\AddTextLayer.psd";

// Ladda en befintlig PSD
PsdImage im = (PsdImage)Image.load(sourceFileName);

// Lägg till ett textlager
Rectangle rect = new Rectangle(20, 20, 100, 30);
TextLayer layer = im.addTextLayer("Welcome!", rect);

// Ställ in lagerposition
layer.setLeft(10);
layer.setTop(25);

// Spara PSD
im.save(exportPath);
Add-New-Text-Layer-to-PSD-using-Java

Lägg till nytt textlager till PSD Programmatiskt med Java

Få gratis tillfällig licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • skapa en ny PSD-bild;
  • skapa ett nytt vanligt lager;
  • infoga ett textlager i en PSD med Java.

Förutom att lägga till ett nytt lager till PSD i Java, kan du lära dig mer om Aspose.PSD för Java med hjälp av dokumentation. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även