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:
- C# Photoshop API do dodawania znaku wodnego do PSD
- Dodaj tekstowy znak wodny do pliku PSD
- Utwórz ukośny znak wodny w PSD
- 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:
- Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
- Następnie utwórz instancję klasy Graphics.
- Następnie zdefiniuj obiekt klasy Font, aby narysować szerokość znaku wodnego.
- Następnie utwórz instancję klasy SolidBrush z kolorem.
- Następnie określ wyrównanie ciągu.
- Następnie wywołaj metodę DrawString().
- 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());
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:
- Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
- Następnie utwórz instancję klasy Graphics.
- Następnie zdefiniuj obiekt klasy Font, aby narysować szerokość znaku wodnego.
- Tymczasem utwórz instancję klasy SolidBrush z kolorem.
- Następnie określ macierz transformacji, aby obrócić znak wodny.
- Później określ wyrównanie ciągu.
- Następnie wywołaj metodę DrawString().
- 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());
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:
- Najpierw załaduj plik PSD jako PsdImage, używając klasy Image.
- Następnie utwórz instancję klasy Layer.
- Następnie ustaw wysokość, szerokość i krycie warstwy.
- Następnie wywołaj metodę AddLayer(), aby dodać warstwę do pliku PSD.
- Następnie załaduj obraz znaku wodnego do warstwy.
- Następnie dodaj znak wodny obrazu do warstwy.
- Następnie wywołaj metodę DrawImage(). Przyjmuje lokalizację i warstwę obrazu znaku wodnego jako argumenty.
- 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());
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.