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:
- C# Photoshop API för att lägga till vattenstämpel till PSD
- Lägg till en textvattenstämpel till PSD
- Skapa en diagonal vattenstämpel i PSD
- 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:
- Först laddar du PSD-filen som PsdImage med hjälp av klassen Image.
- Skapa sedan en instans av klassen Graphics.
- Definiera sedan ett Font-klassobjekt för att rita vattenstämpelns bredd.
- Skapa sedan en instans av SolidBrush-klassen med färg.
- Ange sedan strängjustering.
- Efter det, anropa metoden DrawString().
- 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());
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:
- Först laddar du PSD-filen som PsdImage med hjälp av klassen Image.
- Skapa sedan en instans av klassen Graphics.
- Definiera sedan ett Font-klassobjekt för att rita vattenstämpelns bredd.
- Skapa under tiden en instans av klassen SolidBrush med färg.
- Ange sedan transformationsmatrisen för att rotera vattenstämpeln.
- Ange senare strängjustering.
- Efter det, anropa metoden DrawString().
- 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());
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:
- Först laddar du PSD-filen som PsdImage med hjälp av klassen Image.
- Skapa sedan en instans av klassen Layer.
- Ställ sedan in lagrets höjd, bredd och opacitet.
- Anrop sedan metoden AddLayer() för att lägga till lagret till PSD.
- Efter det laddar du en vattenstämpelbild i ett lager.
- Lägg sedan till en bildvattenstämpel i lagret.
- Efter det, anropa metoden DrawImage(). Det tar plats- och vattenstämpelbildlagret som argument.
- 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());
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.