Выноска изображения — это графический элемент, который помогает привлечь внимание к определенным частям изображения или фотографии. Выноски — это секретное оружие, позволяющее сделать любой визуальный контент более понятным и впечатляющим. Думайте о них как о крошечных прожекторах, освещающих самые важные части вашего изображения. В этой статье мы узнаем, как добавлять выноски к изображениям в C#.
В этой статье рассматриваются следующие темы:
- Что такое выноски изображений
- C# API для добавления выносок изображений
- Как добавить выноски к изображениям в C#
- Бесплатные ресурсы
Что такое выноски изображений?
Выноски изображений — это информационные метки, накладываемые на изображение, чтобы привлечь внимание к определенным частям и объяснить их значение. Выноски изображений могут иметь форму выносных линий или стрелок, визуально соединяющих текст выноски с выделенными областями изображений. Это могут быть текстовые поля-выноски, содержащие краткое пояснение или обозначение выделенных элементов.
Выноски изображений обычно используются в:
- Технические документы и руководства: для указания конкретных функций или функций на снимках экрана или диаграммах.
- Презентации: чтобы подчеркнуть ключевые элементы изображения.
- Учебные материалы: для обозначения частей иллюстрации или графика.
C# API для добавления выносок изображений
Для программного добавления выносок изображений в C# мы будем использовать API Aspose.Drawing for .NET. Это кроссплатформенная библиотека 2D-графики для программного рисования текста, геометрии и изображений. Он предоставляет возможность создавать и добавлять выноски к вашим изображениям.
Пожалуйста, либо загрузите DLL API, либо установите его с помощью NuGet.
PM> Install-Package Aspose.Drawing
Как добавить выноски к изображениям в C#
Мы можем легко добавить выноски к изображениям программно, выполнив следующие шаги:
- Загрузите изображение с помощью метода Image.FromFile().
- Создайте новый объект Graphics, используя метод FromImage().
- Инициализируйте объект класса Pen с указанным цветом и размером, чтобы нарисовать выноски.
- Определите положение элемента выноски с указанным цветом и размером.
- После этого напишите текст с помощью метода DrawString().
- Наконец, сохраните выходное изображение с помощью метода Save().
В следующем примере кода показано, как добавить выноски к изображению на C#.
using System.Drawing;
using System.Drawing.AsposeDrawing;
using System.Drawing.Imaging;
using System.Drawing.Text;
using (var image = Image.FromFile("gears.png"))
{
var graphics = Graphics.FromImage(image);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.PageUnit = GraphicsUnit.Pixel;
DrawCallOut(graphics, new PointF(107, 55), new PointF(179, 5), 74, "mm");
DrawCallOut(graphics, new PointF(111, 146), new PointF(29, 180), 28, "mm");
image.Save("gears_with_callout.jpg");
}
void DrawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, string unit)
{
Pen pen = new Pen(Color.Red, 1);
Font font = new Font("Arial", 10, FontStyle.Bold);
string outputValue = $"{value} {unit}";
var textSize = graphic.MeasureString(outputValue, font);
int diameterSymbolSize = 12;
int spaceSize = 3;
textSize.Width += diameterSymbolSize + spaceSize;
float callOutMiddleX = endAnchor.X > startAnchor.X ? endAnchor.X - textSize.Width : endAnchor.X + textSize.Width;
float callOutMiddleY = endAnchor.Y > startAnchor.Y ? endAnchor.Y - textSize.Height : endAnchor.Y + textSize.Height;
graphic.DrawLine(pen, startAnchor.X, startAnchor.Y, callOutMiddleX, callOutMiddleY);
float textAnchorX = Math.Min(callOutMiddleX, endAnchor.X);
float textAnchorY = callOutMiddleY;
graphic.DrawLine(pen, callOutMiddleX, callOutMiddleY,
textAnchorX == callOutMiddleX ? textAnchorX + textSize.Width : textAnchorX,
callOutMiddleY);
graphic.DrawEllipse(pen, new Rectangle((int)textAnchorX + spaceSize,
(int)(textAnchorY - textSize.Height) + spaceSize, 10, 10));
graphic.DrawLine(pen, (int)textAnchorX + 1, (int)textAnchorY - 1,
(int)textAnchorX + diameterSymbolSize + 2,
(int)textAnchorY - diameterSymbolSize - 2);
SolidBrush brush = new SolidBrush(Color.Blue);
graphic.DrawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize,
(int)(textAnchorY - textSize.Height));
}
Получите бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.Drawing for .NET без ограничений ознакомительной версии.
Выноски к фотографиям – бесплатные ресурсы
Помимо добавления выносок к фотографиям и изображениям, вы можете изучить различные другие функции библиотеки, используя ресурсы ниже:
- Руководство разработчика
- Бесплатные онлайн-приложения
- Справочник по API
- Практические руководства и статьи
Заключение
В этом посте мы узнали, как программно добавлять выноски к изображениям и фотографиям на C#. Добавление выносок к изображениям может быть простым, но эффективным способом повысить визуальную привлекательность и удобство использования вашего контента. Следуя описанным шагам и используя предоставленный пример кода, вы можете легко привлечь внимание к ключевым элементам ваших изображений. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.