dodaj znak wodny do obrazów C#

Znaki wodne na obrazach są zwykle używane do zgłaszania praw własności do treści. Z drugiej strony obrazy są opatrzone znakiem wodnym, aby uniknąć nieautoryzowanego użycia lub podrabiania. W różnych przypadkach może być konieczne zautomatyzowanie funkcji znaku wodnego w aplikacjach internetowych lub komputerowych. W przypadku takich scenariuszy w tym artykule opisano programowe dodawanie znaku wodnego do obrazów przy użyciu języka C#. Może to być również przydatne, gdy trzeba za jednym razem dodać znak wodny do partii obrazów. Więc zacznijmy.

C# API do dodawania znaku wodnego do obrazów

Aby dodać znaki wodne do obrazów, użyjemy Aspose.Imaging for .NET. Jest to potężny interfejs API do przetwarzania obrazu, który obsługuje szeroką gamę formatów obrazów. Ponadto interfejs API ułatwia manipulowanie obrazami. Możesz pobrać pliki binarne interfejsu API lub zainstalować je za pomocą NuGet.

PM> Install-Package Aspose.Imaging

Dodaj znak wodny do obrazu w C#

Poniżej przedstawiono kroki dodawania znaku wodnego do obrazu przy użyciu języka C#.

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

// Załaduj istniejący obraz PNG
using (Image image = Image.Load("image.png"))
{
    // Zadeklaruj obiekt typu String z tekstem znaku wodnego
    string theString = "This is watermark";

    // Utwórz i zainicjuj instancję klasy Graphics i zainicjuj obiekt SizeF do przechowywania obrazu Size
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Tworzy instancję Font, inicjalizuj ją za pomocą Font Face, Size i Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Utwórz instancję SolidBrush i ustaw jej różne właściwości
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Zainicjuj obiekt klasy StringFormat i ustaw jego różne właściwości
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Narysuj ciąg na wyjściu Image Save na dysk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.jpg");
}
Dodaj znak wodny do obrazu C#

Dodaj diagonalny znak wodny do obrazów w C#

W różnych przypadkach znaki wodne są nakładane na obrazy po przekątnej. W tym celu Aspose.Imaging for .NET umożliwia przekształcenie tekstu znaku wodnego pod określonym kątem. Poniżej przedstawiono kroki, aby dodać ukośny znak wodny do obrazu.

Poniższy przykładowy kod pokazuje, jak dodać ukośny znak wodny do obrazów przy użyciu języka C#.

// Załaduj istniejący obraz PNG
using (Image image = Image.Load("Image.png"))
{
    // Zadeklaruj obiekt typu String z tekstem znaku wodnego
    string theString = "45 Degree Rotated Text";

    // Utwórz i zainicjuj instancję klasy Graphics i zainicjuj obiekt SizeF do przechowywania obrazu Size
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Tworzy instancję Font, inicjalizuj ją za pomocą Font Face, Size i Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Utwórz instancję SolidBrush i ustaw jej różne właściwości
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Zainicjuj obiekt klasy StringFormat i ustaw jego różne właściwości
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Utwórz obiekt klasy Matrix do transformacji
    Matrix matrix = new Matrix();

    // Najpierw tłumaczenie, potem obrót                
    matrix.Translate(sz.Width / 2, sz.Height / 2);
    matrix.Rotate(-45.0f);

    // Ustaw transformację przez Matrix
    graphics.Transform = matrix;

    // Narysuj ciąg na wyjściu Image Save na dysk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.png");
}
Dodaj ukośny znak wodny do obrazu C#

Uzyskaj bezpłatną licencję API

Jeśli chcesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, możesz uzyskać bezpłatną tymczasową licencję.

Wniosek

W tym artykule nauczyłeś się, jak dodawać znak wodny do obrazów przy użyciu języka C#. Ponadto widziałeś, jak przekształcić tekst znaku wodnego pod określonym kątem. Możesz dowiedzieć się więcej o interfejsie API przetwarzania obrazu w języku C#, korzystając z dokumentacji. Jeśli masz jakieś pytania lub wątpliwości, skontaktuj się z nami za pośrednictwem naszego forum.

Zobacz też