Dodaj znak wodny do PSD w C#

Popularna aplikacja Adobe Photoshop wykorzystuje PSD (Dokument programu Photoshop) jako natywny format pliku obrazu. Jest powszechnie używany do tworzenia logo, broszur i innych obrazów, w których plik PSD zawiera kilka warstw. Możemy łatwo zabezpieczyć projekt, dodając programowo tekst lub znak wodny do pliku PSD. W tym artykule dowiemy się, jak dodać znak wodny do pliku PSD w języku C#.

Ten artykuł obejmuje następujące tematy:

  1. C# Photoshop API do dodawania znaku wodnego do PSD
  2. Dodaj tekstowy znak wodny do pliku PSD
  3. Utwórz ukośny znak wodny w PSD
  4. Dodaj znak wodny obrazu do pliku PSD

C# Photoshop API do dodawania znaku wodnego do PSD

Aby dodać tekstowy lub graficzny znak wodny do pliku PSD, użyjemy interfejsu API Aspose.PSD for .NET. Jest to łatwy w użyciu interfejs API do manipulacji formatami plików Adobe Photoshop. Umożliwia ładowanie i odczytywanie plików PSD i PSB w aplikacjach .NET. Interfejs API umożliwia nam aktualizowanie właściwości warstw, dodawanie znaków wodnych, kompresję, obracanie, skalowanie lub renderowanie plików PSD i kilku innych obsługiwanych formatów plików bez konieczności instalowania programu Adobe Photoshop.

Klasa PsdImage API umożliwia ładowanie, edytowanie i zapisywanie plików PSD. Klasa Graphics reprezentuje grafikę w obrazie. Mamy metodę DrawString(string, Font, Brush, RectangleF, StringFormat) tej klasy, która rysuje określony ciąg tekstowy w określonym prostokącie za pomocą określonych obiektów pędzla i czcionki. Klasa Layer reprezentuje warstwę PSD. Metoda DrawImage(Point, RasterImage) tej klasy rysuje obraz na warstwie. PSD możemy zapisać w określonej lokalizacji pliku za pomocą metody Save(string, ImageOptionsBase).

Proszę pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

PM> Install-Package Aspose.PSD

Dodaj tekstowy znak wodny do PSD za pomocą C#

Możemy dodać dowolny tekst jako znak wodny do pliku PSD, wykonując poniższe czynności:

  1. Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
  2. Następnie utwórz instancję klasy Graphics.
  3. Następnie zdefiniuj obiekt klasy Font, aby narysować szerokość znaku wodnego.
  4. Następnie utwórz instancję klasy SolidBrush z kolorem.
  5. Następnie określ wyrównanie ciągu.
  6. Następnie wywołaj metodę DrawString().
  7. Na koniec zapisz plik wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak dodać tekstowy znak wodny do pliku PSD w języku C#.

// Ten przykład kodu pokazuje, jak dodać tekstowy znak wodny do pliku PSD
// Załaduj plik PSD jako obraz i prześlij go do PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Utwórz obiekt graficzny do wykonywania operacji rysowania.
Graphics graphics = new Graphics(psdImage);

// Utwórz czcionkę do rysowania znaku wodnego.
Font font = new Font("Arial", 25.0f);

// Utwórz solidny pędzel z kolorem alfa ustawionym blisko 0, aby użyć efektu znaku wodnego.
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Określ wyrównanie łańcucha, aby umieścić znak wodny na środku obrazu.
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;

// Narysuj znak wodny za pomocą czcionki, częściowo przezroczystego pędzla i obrotowej matrycy na środku obrazu.
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);

// Wyeksportuj obraz do formatu pliku PNG.
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
Dodaj tekstowy znak wodny do PSD za pomocą C#

Dodaj tekstowy znak wodny do PSD za pomocą C#

Możemy również zapisać dane wyjściowe jako plik PSD, używając następującego przykładowego kodu:

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

Utwórz diagonalny znak wodny w PSD za pomocą C#

Możemy dodać ukośny tekstowy znak wodny do pliku PSD, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
  2. Następnie utwórz instancję klasy Graphics.
  3. Następnie zdefiniuj obiekt klasy Font, aby narysować szerokość znaku wodnego.
  4. Tymczasem utwórz instancję klasy SolidBrush z kolorem.
  5. Następnie określ macierz transformacji, aby obrócić znak wodny.
  6. Później określ wyrównanie ciągu.
  7. Następnie wywołaj metodę DrawString().
  8. Na koniec zapisz plik wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak dodać ukośny tekstowy znak wodny do pliku PSD w języku C#.

// Ten przykładowy kod pokazuje, jak dodać ukośny tekstowy znak wodny do pliku PSD
// Załaduj plik PSD jako obraz i prześlij go do PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Utwórz obiekt graficzny do wykonywania operacji rysowania
Graphics graphics = new Graphics(psdImage);

// Utwórz czcionkę do rysowania znaku wodnego
Font font = new Font("Arial", 25.0f);

// Utwórz solidny pędzel z kolorem alfa ustawionym blisko 0, aby użyć efektu znaku wodnego
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// Określ macierz transformacji, aby obrócić znak wodny
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));

// Określ wyrównanie łańcucha, aby umieścić znak wodny na środku obrazu
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;

// Narysuj znak wodny czcionką, częściowo przezroczystym pędzlem na środku obrazu
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);

// Wyeksportuj obraz do formatu pliku PNG
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
Utwórz diagonalny znak wodny w PSD za pomocą C#

Utwórz diagonalny znak wodny w PSD za pomocą C#

Dodaj znak wodny obrazu do PSD za pomocą C#

Możemy również dodać obraz jako znak wodny do pliku PSD, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
  2. Następnie utwórz instancję klasy Layer.
  3. Następnie ustaw wysokość, szerokość i krycie warstwy.
  4. Następnie wywołaj metodę AddLayer(), aby dodać warstwę do pliku PSD.
  5. Następnie załaduj obraz znaku wodnego do warstwy.
  6. Następnie dodaj znak wodny obrazu do warstwy.
  7. Następnie wywołaj metodę DrawImage(). Przyjmuje lokalizację i warstwę obrazu znaku wodnego jako argumenty.
  8. Na koniec zapisz plik wyjściowy przy użyciu metody Save().

Poniższy przykładowy kod pokazuje, jak dodać znak wodny obrazu do pliku PSD w języku C#.

// Ten przykładowy kod pokazuje, jak dodać znak wodny obrazu do pliku PSD
// Załaduj plik PSD do obiektu PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// Dodaj nową warstwę znaku wodnego
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;

// Dodaj warstwę do pliku PSD
psdImage.AddLayer(baseLayer);

// Załaduj obraz znaku wodnego do warstwy
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);

// Dodaj znak wodny obrazu do warstwy podstawowej
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);

// Zapisz ostateczny plik PSD ze znakiem wodnym
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
Dodaj znak wodny obrazu do PSD za pomocą C#

Dodaj znak wodny obrazu do PSD za pomocą C#

Uzyskaj bezpłatną tymczasową licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.PSD for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • dodać nową warstwę do obrazu PSD;
  • dodać tekst lub obraz znaku wodnego do pliku PSD;
  • zapisać PSD jako obraz PNG lub PSD przy użyciu C#.

Oprócz dodawania znaku wodnego do PSD w C#, możesz dowiedzieć się więcej o Aspose.PSD for .NET za pomocą dokumentacji i poznać różne funkcje obsługiwane przez API. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też