rysuj-tekst-obraz-csharp

Widzimy lub tworzymy wiele obrazów dla informacji wizualnej. Czasami trzeba dodać lub narysować tekst na obrazie w taki sposób, aby nikt inny nie mógł go zmodyfikować. Znak wodny obrazu jest jednym z najczęstszych przykładów. Podobnie etykietowanie lub przeglądanie obrazów może również wymagać rysowania tekstu. Przyjrzyjmy się dalszym zastosowaniom rysowania tekstu na obrazach:

Dodawanie, wstawianie lub rysowanie sformatowanego tekstu na obrazie — instalacja C# API

Aspose.Drawing for .NET API to biblioteka grafiki 2D kompatybilna z pakietem System.Drawing. Obsługuje renderowanie prostokątów, krzywych, linii, tekstu i innych elementów graficznych na obrazach. Nie jest zależny od żadnej biblioteki stron trzecich, dzięki czemu może być używany w dowolnym środowisku. Na przykład może być również używany do renderowania grafiki w systemie Linux lub Azure Functions V2, gdzie biblioteka System.Drawing nie jest obsługiwana. Możesz zainstalować Aspose.Drawing for .NET API, pobierając go z sekcji Downloads lub za pomocą następującego polecenia instalacyjnego:

PM> Install-Package Aspose.Drawing

Narysuj tekst jako znak wodny na istniejącym obrazie programowo za pomocą C#

Tekstowy znak wodny na obrazie jest często używany do pokazania własności, przynależności lub przeznaczenia obrazu. Możesz dodać lub narysować tekst jako znak wodny na istniejącym obrazie, wykonując następujące czynności:

  1. Załaduj istniejący obraz wejściowy
  2. Zainicjuj obiekt klasy Graphics.
  3. Ustaw formatowanie tekstu i tekst
  4. Narysuj tekst
  5. Zapisz obraz wyjściowy

Poniższy kod pokazuje, jak programowo narysować tekst jako znak wodny na istniejącym obrazie przy użyciu języka C#:

// Załaduj istniejący obraz wejściowy
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// Zainicjuj obiekt klasy Graphics
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// Zadeklaruj pędzel podczas określania koloru
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Ustaw czcionkę tekstu
Font arial = new Font("Arial", 20, FontStyle.Regular);

// Ustaw tekst
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Narysuj tekst
graphics.DrawString(text, arial, brush, rectangle);

// Zapisz obraz wyjściowy
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Narysuj tekst na nowym obrazie od podstaw programowo w C#

Może być konieczne narysowanie tekstu w formacie obrazu do różnych celów. Na przykład możesz chcieć uniemożliwić innym modyfikowanie lub kopiowanie treści tekstowych. Musisz wykonać następujące kroki, aby narysować tekst na nowym obrazie:

  1. Zainicjuj nowy obraz od podstaw
  2. Zainicjuj obiekt klasy Brush.
  3. Ustaw styl czcionki, rozmiar itp.
  4. Narysuj tekst on the image
  5. Zapisz obraz wyjściowy

Poniższy fragment kodu pokazuje, jak programowo rysować tekst na nowym obrazie od podstaw przy użyciu języka C#:

// Zainicjuj nowy obraz od podstaw
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));

// Zainicjuj obiekt klasy Brush
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Ustaw styl czcionki, rozmiar itp.
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Narysuj tekst na obrazku
graphics.DrawString(text, arial, brush, rectangle);

// Zapisz obraz wyjściowy
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Wniosek

W tym artykule nauczyliśmy się, jak dodawać lub rysować tekst na obrazach. Możesz narysować tekstowy znak wodny zarówno w istniejących, jak i nowych obrazach od podstaw, bez konieczności instalowania aplikacji innych firm. Co więcej, możesz przetwarzać wiele formatów obrazów, w tym JPG, PNG, BMP, Icon, Tiff itp. API oferuje kilka funkcji do przetwarzania rysunków i grafiki zgodnie z Twoimi wymaganiami. Możesz odwiedzić Przykładowy projekt, który zaprojektowaliśmy jako prezentację różnych scenariuszy. W przypadku jakichkolwiek wątpliwości prosimy o kontakt z nami w dowolnym momencie za pośrednictwem bezpłatnych forów pomocy technicznej. Twoje zdrowie!

Zobacz też

Informacja: Aspose niedawno opracował BEZPŁATNY Konwerter tekstu na GIF.