рисовать-текст-изображение-csharp

Мы видим или создаем множество изображений для визуальной информации. Иногда вам нужно добавить или нарисовать текст на изображении таким образом, чтобы никто другой не мог изменить этот текст. Водяной знак изображения является одним из наиболее распространенных примеров. Точно так же для маркировки или просмотра изображений также может потребоваться нанесение текста. Давайте рассмотрим дальнейшее использование рисования текста на изображениях:

Добавление, вставка или рисование форматированного текста на изображении — установка C# API

Aspose.Drawing for .NET API — это библиотека 2D-графики, совместимая с пакетом System.Drawing. Он поддерживает рендеринг прямоугольников, кривых, линий, текста и другой графики на изображениях. Он не зависит от какой-либо сторонней библиотеки, поэтому может использоваться в любой среде. Например, его также можно использовать для отрисовки графики в Linux или Azure Functions V2, где библиотека System.Drawing не поддерживается. Вы можете установить Aspose.Drawing for .NET API, загрузив его из раздела Загрузки или с помощью следующей команды установки:

PM> Install-Package Aspose.Drawing

Нарисуйте текст как водяной знак на существующем изображении программно с помощью C#

Текстовый водяной знак на изображении часто используется, чтобы показать право собственности, принадлежность или назначение изображения. Вы можете добавить или нарисовать текст в качестве водяного знака на существующем изображении, выполнив следующие действия:

  1. Загрузить существующее входное изображение
  2. Инициализировать объект класса Graphics
  3. Установить форматирование текста и текст
  4. Нарисовать текст
  5. Сохранить выходное изображение

В следующем коде показано, как программно нарисовать текст в качестве водяного знака на существующем изображении с помощью C#:

// Загрузить существующее входное изображение
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// Инициализировать объект класса Graphics
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// Объявить кисть при указании цвета
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Установить шрифт текста
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);

// Нарисовать текст
graphics.DrawString(text, arial, brush, rectangle);

// Сохранить выходное изображение
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Нарисуйте текст на новом изображении с нуля программно на C#

Вам может понадобиться нарисовать текст в формате изображения для разных целей. Например, вы можете запретить другим изменять или копировать текстовое содержимое. Вам необходимо выполнить следующие шаги для рисования текста на новом изображении:

  1. Инициализировать новый образ с нуля
  2. Инициализировать объект класса Brush
  3. Установите стиль шрифта, размер и т. д.
  4. Нарисовать текст on the image
  5. Сохранить выходное изображение

В приведенном ниже фрагменте кода показано, как программно нарисовать текст на новом изображении с нуля с помощью языка C#:

// Инициализировать новый образ с нуля
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));

// Инициализировать объект класса Brush
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Установите стиль шрифта, размер и т. д.
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);

// Нарисуйте текст на изображении
graphics.DrawString(text, arial, brush, rectangle);

// Сохранить выходное изображение
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Вывод

В этой статье мы узнали, как добавлять или рисовать текст на изображениях. Вы можете рисовать текстовый водяной знак в существующих, а также в новых изображениях с нуля без необходимости установки каких-либо сторонних приложений. Кроме того, вы можете обрабатывать множество форматов изображений, включая JPG, PNG, BMP, Icon, Tiff и т. д. API предлагает несколько функций для обработки рисунков и графики в соответствии с вашими требованиями. Вы можете посетить Пример проекта, который мы разработали как демонстрацию различных сценариев. Пожалуйста, не стесняйтесь обращаться к нам в любое время через Бесплатные форумы поддержки в случае каких-либо проблем. Ваше здоровье!

Смотрите также

Информация: Aspose недавно разработал БЕСПЛАТНЫЙ конвертер текста в GIF.