이미지 설명선은 이미지나 사진의 특정 부분에 주의를 집중시키는 데 도움이 되는 그래픽 요소입니다. 콜아웃은 시각적 콘텐츠를 더욱 명확하고 인상적으로 만들기 위한 비밀 무기입니다. 이미지의 가장 중요한 부분을 비추는 작은 스포트라이트라고 생각하세요. 이번 글에서는 C#에서 이미지에 설명선을 추가하는 방법을 알아 보겠습니다.
이 문서에서는 다음 주제를 다룹니다.
이미지 콜아웃이란 무엇입니까?
이미지 설명선은 특정 부분에 주의를 끌고 해당 부분의 중요성을 설명하기 위해 이미지에 겹쳐지는 정보 레이블입니다. 이미지 콜아웃은 지시선이나 화살표 형태일 수 있으며 콜아웃 텍스트를 이미지의 강조 표시된 영역에 시각적으로 연결합니다. 지적된 요소에 대한 간략한 설명이나 식별 정보가 포함된 설명선 텍스트 상자일 수 있습니다.
이미지 콜아웃은 일반적으로 다음에서 사용됩니다.
- 기술 문서 및 튜토리얼: 스크린샷이나 다이어그램에서 특정 특징이나 기능을 지적합니다.
- 프리젠테이션: 이미지 내의 핵심 요소를 강조합니다.
- 교육 자료: 그림이나 그래프의 일부에 라벨을 지정합니다.
이미지 콜아웃을 추가하는 C# API
C#에서 프로그래밍 방식으로 이미지 콜아웃을 추가하기 위해 Aspose. Drawing for .NET API를 사용합니다. 프로그래밍 방식으로 텍스트, 형상 및 이미지를 그리기 위한 크로스 플랫폼 2D 그래픽 라이브러리입니다. 이미지에 콜아웃을 생성하고 추가하는 기능을 제공합니다.
API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하세요.
PM> Install-Package Aspose.Drawing
C#에서 이미지에 콜아웃을 추가하는 방법
아래 단계에 따라 프로그래밍 방식으로 이미지에 콜아웃을 쉽게 추가할 수 있습니다.
- Image.FromFile() 메서드를 사용하여 이미지를 로드합니다.
- FromImage() 메서드를 사용하여 새 Graphics 개체를 만듭니다.
- 설명선을 그리려면 지정된 색상과 크기로 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));
}
무료 라이센스 받기
무료 임시 라이센스를 받아 평가 제한 없이 .NET용 Aspose. Drawing을 사용해 볼 수 있습니다.
사진에 대한 설명 – 무료 리소스
사진과 이미지에 콜아웃을 추가하는 것 외에도 아래 리소스를 사용하여 라이브러리의 다양한 다른 기능을 탐색할 수 있습니다.
결론
이 게시물에서는 C#에서 프로그래밍 방식으로 이미지와 사진에 설명선을 추가하는 방법을 배웠습니다. 이미지에 콜아웃을 추가하는 것은 콘텐츠의 시각적 매력과 유용성을 향상시키는 간단하면서도 효과적인 방법이 될 수 있습니다. 설명된 단계를 따르고 제공된 코드 예제를 사용하면 이미지 내의 주요 요소에 쉽게 주의를 끌 수 있습니다. 모호한 점이 있으면 언제든지 무료 지원 포럼에 문의해 주세요.