mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 22:46:30 +00:00
put better caption in result image
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace Azaion.Common.Extensions;
|
||||||
|
|
||||||
|
public static class GraphicsExtensions
|
||||||
|
{
|
||||||
|
public static void DrawTextBox(this Graphics g, string text, PointF position, Brush background, Brush foreground)
|
||||||
|
{
|
||||||
|
using var textFont = new Font(FontFamily.GenericSerif, 14);
|
||||||
|
using var stringFormat = new StringFormat();
|
||||||
|
stringFormat.LineAlignment = StringAlignment.Near;
|
||||||
|
stringFormat.Alignment = StringAlignment.Center;
|
||||||
|
|
||||||
|
var padding = 1.0f;
|
||||||
|
var textSize = g.MeasureString(text, textFont);
|
||||||
|
|
||||||
|
var backgroundRect = new RectangleF(
|
||||||
|
position.X - textSize.Width / 2.0f - padding,
|
||||||
|
position.Y - padding,
|
||||||
|
textSize.Width + 2 * padding,
|
||||||
|
textSize.Height + 2 * padding
|
||||||
|
);
|
||||||
|
|
||||||
|
g.FillRectangle(background, backgroundRect);
|
||||||
|
g.DrawString(text, textFont, foreground, position, stringFormat);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -278,8 +278,9 @@ public class GalleryService(
|
|||||||
var brush = new SolidBrush(Color.FromArgb(color.A, color.R, color.G, color.B));
|
var brush = new SolidBrush(Color.FromArgb(color.A, color.R, color.G, color.B));
|
||||||
var det = new CanvasLabel(detection, new Size(originalImage.Width, originalImage.Height));
|
var det = new CanvasLabel(detection, new Size(originalImage.Width, originalImage.Height));
|
||||||
g.DrawRectangle(new Pen(brush, width: 3), (float)det.X, (float)det.Y, (float)det.Width, (float)det.Height);
|
g.DrawRectangle(new Pen(brush, width: 3), (float)det.X, (float)det.Y, (float)det.Width, (float)det.Height);
|
||||||
|
|
||||||
var label = detection.Confidence >= 0.995 ? detClass.UIName : $"{detClass.UIName}: {detection.Confidence * 100:F0}%";
|
var label = detection.Confidence >= 0.995 ? detClass.UIName : $"{detClass.UIName}: {detection.Confidence * 100:F0}%";
|
||||||
g.DrawString(label, new Font(FontFamily.GenericSerif, 14), brush, new PointF((float)(det.X + det.Width / 2.0), (float)det.Y));
|
g.DrawTextBox(label, new PointF((float)(det.X + det.Width / 2.0), (float)(det.Y - 24)), brush, Brushes.Black);
|
||||||
}
|
}
|
||||||
originalImage.Save(Path.Combine(_dirConfig.ResultsDirectory, $"{annotation.Name}{Constants.RESULT_PREFIX}.jpg"), ImageFormat.Jpeg);
|
originalImage.Save(Path.Combine(_dirConfig.ResultsDirectory, $"{annotation.Name}{Constants.RESULT_PREFIX}.jpg"), ImageFormat.Jpeg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user