Lägg till vattenstämpel till PSD i C#

Adobes populära Photoshop-applikation använder PSD(Photoshop Document) som ett inbyggt bildfilformat. Det används ofta för att skapa logotyper, broschyrer och andra bilder där PSD-filen innehåller flera lager. Vi kan enkelt skydda designen genom att lägga till text- eller bildvattenstämpeln i en PSD-fil programmatiskt. I den här artikeln kommer vi att lära oss hur man lägger till en vattenstämpel till en PSD i C#.

Den här artikeln ska täcka följande ämnen:

  1. C# Photoshop API för att lägga till vattenstämpel till PSD
  2. Lägg till en textvattenstämpel till PSD
  3. Skapa en diagonal vattenstämpel i PSD
  4. Lägg till en bildvattenstämpel till PSD

C# Photoshop API för att lägga till vattenstämpel till PSD

För att lägga till en text- eller bildvattenstämpel i en PSD-fil kommer vi att använda Aspose.PSD for .NET API. Det är ett lättanvänt API för manipulering av Adobe Photoshop-filformat. Den tillåter inläsning och läsning av PSD- och PSB-filer i .NET-applikationer. API:et gör att vi kan uppdatera lageregenskaper, lägga till vattenstämplar, utföra komprimering, rotation, skala eller rendera PSD och flera andra filformat som stöds utan att behöva installera Adobe Photoshop.

Klassen PsdImage i API:t tillåter att ladda, redigera och spara PSD-filer. Klassen Graphics representerar grafiken i bilden. Vi har metoden DrawString(string, Font, Brush, RectangleF, StringFormat) i den här klassen som ritar den angivna textsträngen i den angivna rektangeln med de angivna pensel- och teckensnittsobjekten. Klassen Layer representerar PSD-lagret. Metoden DrawImage(Point, RasterImage) för den här klassen ritar bilden på lagret. Vi kan spara PSD till den angivna filplatsen med metoden Save(string, ImageOptionsBase).

Vänligen antingen ladda ned DLL för API:t eller installera den med NuGet.

PM> Install-Package Aspose.PSD

Lägg till textvattenstämpel till PSD med C#

Vi kan lägga till vilken text som helst som en vattenstämpel 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. Skapa sedan en instans av klassen Graphics.
  3. Definiera sedan ett Font-klassobjekt för att rita vattenstämpelns bredd.
  4. Skapa sedan en instans av SolidBrush-klassen med färg.
  5. Ange sedan strängjustering.
  6. Efter det, anropa metoden DrawString().
  7. Slutligen sparar du utdatafilen med metoden Save().

Följande kodexempel visar hur man lägger till en textvattenstämpel till en PSD-fil i C#.

// Detta kodexempel visar hur man lägger till en textvattenstämpel till en PSD-fil
// Ladda en PSD-fil som en bild och casta den till PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Skapa grafikobjekt för att utföra ritoperationer.
Graphics graphics = new Graphics(psdImage);

// Skapa typsnitt att rita vattenstämpel med.
Font font = new Font("Arial", 25.0f);

// Skapa en solid pensel med färgalfa inställd på nära 0 för att använda vattenstämpeleffekt.
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Ange strängjustering för att placera vattenstämpel i bildens mitt.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;

// Rita vattenstämpel med teckensnitt, delvis genomskinlig pensel och rotationsmatris i mitten av bilden.
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);

// Exportera bilden till PNG-filformat.
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
Lägg till textvattenstämpel till PSD med C#

Lägg till textvattenstämpel till PSD med C#

Vi kan också spara utdata som en PSD-fil med hjälp av följande kodexempel:

psdImage.Save(@"C:\Files\AddWatermark_output.psd", new PsdOptions());

Skapa diagonal vattenstämpel i PSD med C#

Vi kan lägga till en diagonal textvattenstämpel 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. Skapa sedan en instans av klassen Graphics.
  3. Definiera sedan ett Font-klassobjekt för att rita vattenstämpelns bredd.
  4. Skapa under tiden en instans av klassen SolidBrush med färg.
  5. Ange sedan transformationsmatrisen för att rotera vattenstämpeln.
  6. Ange senare strängjustering.
  7. Efter det, anropa metoden DrawString().
  8. Slutligen sparar du utdatafilen med metoden Save().

Följande kodexempel visar hur man lägger till en diagonal textvattenstämpel till en PSD-fil i C#.

// Detta kodexempel visar hur man lägger till en diagonal textvattenstämpel till en PSD-fil
// Ladda en PSD-fil som en bild och casta den till PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Skapa grafikobjekt för att utföra ritoperationer
Graphics graphics = new Graphics(psdImage);

// Skapa teckensnitt att rita vattenstämpel med
Font font = new Font("Arial", 25.0f);

// Skapa en solid pensel med färgalfa inställd på nära 0 för att använda vattenstämpeleffekt
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Ange transformationsmatris för att rotera vattenstämpeln
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));

// Ange strängjustering för att placera vattenstämpel i bildens mitt
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;

// Rita vattenstämpel med teckensnitt, delvis genomskinlig pensel i mitten av bilden
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);

// Exportera bilden till PNG-filformat
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
Skapa diagonal vattenstämpel i PSD med C#

Skapa diagonal vattenstämpel i PSD med C#

Lägg till bildvattenstämpel till PSD med C#

Vi kan också lägga till en bild som en vattenstämpel 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. Skapa sedan en instans av klassen Layer.
  3. Ställ sedan in lagrets höjd, bredd och opacitet.
  4. Anrop sedan metoden AddLayer() för att lägga till lagret till PSD.
  5. Efter det laddar du en vattenstämpelbild i ett lager.
  6. Lägg sedan till en bildvattenstämpel i lagret.
  7. Efter det, anropa metoden DrawImage(). Det tar plats- och vattenstämpelbildlagret som argument.
  8. Slutligen sparar du utdatafilen med metoden Save().

Följande kodexempel visar hur man lägger till en bildvattenstämpel till en PSD-fil i C#.

// Detta kodexempel visar hur man lägger till en bildvattenstämpel till en PSD-fil
// Ladda en PSD-fil i PsdImage-objektet
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Lägg till ett nytt vattenstämpellager
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;

// Lägg till lager till PSD-fil
psdImage.AddLayer(baseLayer);

// Ladda en vattenstämpelbild i ett lager
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);

// Lägg till bildvattenstämpel i basskiktet
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);

// Spara den sista vattenmärkta PSD-filen
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
Lägg till bildvattenstämpel till PSD med C#

Lägg till bildvattenstämpel till PSD med C#

Få gratis tillfällig licens

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

Slutsats

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

  • lägg till ett nytt lager till en PSD-bild;
  • lägg till vattenstämpeltext eller bild till PSD;
  • spara PSD som en PNG- eller PSD-bild med C#.

Förutom att lägga till en vattenstämpel till PSD i C#, kan du lära dig mer om Aspose.PSD för .NET med dokumentation och utforska olika funktioner som stöds av API:et. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även