Jak přidat vzor vrstvy tahu v Javě

Úvod

Přidání vzoru vrstvy tahu do obrázku v Javě může znít jako skličující úkol, ale s Aspose.PSD pro Javu je to jednodušší, než si myslíte. Ať už navrhujete grafiku nebo pracujete na aplikacích pro úpravu fotografií, tato příručka vás provede procesem krok za krokem. Jste připraveni začít? Pojďme se ponořit!

Předpoklady

Než začnete, budete potřebovat několik věcí:

  • Java Development Kit (JDK): Ujistěte se, že máte v systému nainstalovaný JDK.
  • Aspose.PSD pro Java: Stáhněte si knihovnu ztady a zahrnout jej do svého projektu.
  • IDE: Použijte své oblíbené integrované vývojové prostředí (IDE), jako je IntelliJ IDEA nebo Eclipse.

Importujte balíčky

Nejprve musíte do svého projektu Java importovat potřebné balíčky. Tyto balíčky jsou nezbytné pro práci s Aspose.PSD.

import com.aspose.psd.Color;
import com.aspose.psd.Image;
import com.aspose.psd.Rectangle;
import com.aspose.psd.examples.Utils.Assert;
import com.aspose.psd.examples.Utils.Utils;
import com.aspose.psd.fileformats.psd.PsdImage;
import com.aspose.psd.fileformats.psd.layers.BlendMode;
import com.aspose.psd.fileformats.psd.layers.fillsettings.FillType;
import com.aspose.psd.fileformats.psd.layers.fillsettings.PatternFillSettings;
import com.aspose.psd.fileformats.psd.layers.layereffects.StrokeEffect;
import com.aspose.psd.fileformats.psd.layers.layerresources.PattResource;
import com.aspose.psd.imageloadoptions.PsdLoadOptions;
import java.util.UUID;

Krok 1: Načtěte soubor PSD

Prvním krokem při přidávání vzorku vrstvy tahu je načtení souboru PSD, který chcete upravit.

String dataDir = "Your Document Directory";
String sourceFileName = dataDir + "Stroke.psd";
PsdLoadOptions loadOptions = new PsdLoadOptions();
loadOptions.setLoadEffectsResource(true);
PsdImage im = (PsdImage)Image.load(sourceFileName, loadOptions);

Načtením souboru PSD nyní můžete přistupovat k jeho vrstvám a efektům a manipulovat s nimi.

Krok 2: Připravte data nového vzoru

Dále je třeba připravit data nového vzoru, která použijete na vrstvu tahu.

int[] newPattern = new int[]
{
    Color.getAqua().toArgb(), Color.getRed().toArgb(), Color.getRed().toArgb(), Color.getAqua().toArgb(),
    Color.getAqua().toArgb(), Color.getWhite().toArgb(), Color.getWhite().toArgb(), Color.getAqua().toArgb(),
    Color.getAqua().toArgb(), Color.getWhite().toArgb(), Color.getWhite().toArgb(), Color.getAqua().toArgb(),
    Color.getAqua().toArgb(), Color.getRed().toArgb(), Color.getRed().toArgb(), Color.getAqua().toArgb(),
};
Rectangle newPatternBounds = new Rectangle(0, 0, 4, 4);
UUID guid = UUID.randomUUID();

Tato data vzoru budou použita k vytvoření nového efektu tahu.

Krok 3: Přístup k efektu tahu

Chcete-li upravit efekt tahu, musíte otevřít konkrétní vrstvu a její možnosti prolnutí.

StrokeEffect patternStroke = (StrokeEffect)im.getLayers()[3].getBlendingOptions().getEffects()[0];
Assert.areEqual(BlendMode.Normal, patternStroke.getBlendMode());
Assert.areEqual(255, patternStroke.getOpacity());
Assert.areEqual(true, patternStroke.isVisible());
PatternFillSettings fillSettings = (PatternFillSettings)patternStroke.getFillSettings();
Assert.areEqual(FillType.Pattern, fillSettings.getFillType());

To zajišťuje, že pracujete se správnou vrstvou a efektem.

Krok 4: Upravte efekt tahu

Nyní upravme efekt tahu pomocí nových dat vzoru.

Aktualizujte vlastnosti efektu tahu

patternStroke.setOpacity((byte)127);
patternStroke.setBlendMode(BlendMode.Color);

Aktualizujte prostředek vzoru

PattResource resource;
for (int i = 0; i < im.getGlobalLayerResources().length; i++)
{
    if (im.getGlobalLayerResources()[i] instanceof PattResource)
    {
        resource = (PattResource)im.getGlobalLayerResources()[i];
        resource.setPatternId(guid.toString());
        resource.setName("$$/Presets/Patterns/HorizontalLine1=Horizontal Line 9\0");
        resource.setPattern(newPattern, newPatternBounds);
    }
}

Tento fragment kódu aktualizuje zdroj vzoru novými daty vzoru.

Krok 5: Použijte nový vzor

Nakonec použijte nový vzor na efekt tahu a uložte změny.

((PatternFillSettings)patternStroke.getFillSettings()).setPatternName("$$/Presets/Patterns/HorizontalLine1=Horizontal Line 9\0");
((PatternFillSettings)patternStroke.getFillSettings()).setPatternId(guid.toString() + "\0");
im.save(exportPath);

Tím zajistíte, že se nový vzor použije správně a soubor se uloží se změnami.

Krok 6: Ověřte změny

Abyste se ujistili, že vše fungovalo správně, načtěte soubor znovu a ověřte změny.

PsdImage img = (PsdImage)Image.load(sourceFileName, loadOptions);
StrokeEffect patternStrokeEffect = (StrokeEffect)img.getLayers()[3].getBlendingOptions().getEffects()[0];
PattResource resource1 = null;
for (int i = 0; i < img.getGlobalLayerResources().length; i++)
{
    if (img.getGlobalLayerResources()[i] instanceof PattResource)
    {
        resource1 = (PattResource)img.getGlobalLayerResources()[i];
    }
}
try
{
    Assert.areEqual(newPattern, resource1.getPatternData());
    Assert.areEqual(newPatternBounds, new Rectangle(0, 0, resource1.getWidth(), resource1.getHeight()));
    Assert.areEqual(guid.toString(), resource1.getPatternId());
    Assert.areEqual(BlendMode.Color, patternStrokeEffect.getBlendMode());
    Assert.areEqual(127, patternStrokeEffect.getOpacity());
    Assert.areEqual(true, patternStrokeEffect.isVisible());
    PatternFillSettings fillSettings1 = (PatternFillSettings)patternStrokeEffect.getFillSettings();
    Assert.areEqual(FillType.Pattern, fillSettings1.getFillType());
}
catch (Exception e)
{
    System.out.println(e.getMessage());
}

Tento krok ověří, že data vzoru byla správně aplikována na efekt tahu.

Závěr

A tady to máte! Úspěšně jste přidali vzor vrstvy tahu do souboru PSD pomocí Aspose.PSD for Java. Podle těchto kroků můžete své obrázky snadno přizpůsobit a vylepšit. Šťastné kódování!

FAQ

Co je Aspose.PSD for Java?

Aspose.PSD for Java je knihovna, která umožňuje vývojářům vytvářet, upravovat a převádět soubory PSD (Photoshop Document) programově.

Mohu použít Aspose.PSD pro Javu v komerčním projektu?

Ano, můžete jej použít v komerčních projektech. Licenci si můžete zakoupit odtady.

Je k dispozici bezplatná zkušební verze Aspose.PSD pro Javu?

Ano, můžete si stáhnout bezplatnou zkušební verzi ztady.

Jak mohu získat podporu pro Aspose.PSD pro Java?

Podporu můžete získat na fórech komunity Asposetady.

Jaké jsou systémové požadavky pro Aspose.PSD pro Java?

Pro vývoj potřebujete nainstalovaný JDK a IDE. Knihovna podporuje více operačních systémů včetně Windows, Linux a macOS.