c# - 如何向箭头添加文本?
问题描述
我目前正在研究一个箭头,其中包含一个'Test'
显示偏移量的文本(此处)。我的代码是:
Width = 200;
Length = 1000;
double arrowHeadWidth = Width;
double arrowHeadLength = Width / 2;
double arrowWidth = Width - arrowHeadWidth / 2;
double arrowLength = Length;
double centerY = Width / 2.0;
var figure = new PathFigure
{
IsClosed = true,
StartPoint = new Point(0, centerY - arrowWidth / 2.0)
};
figure.Segments.Add(new LineSegment(new Point(arrowLength - arrowHeadLength, centerY - arrowWidth / 2.0), true));
figure.Segments.Add(new LineSegment(new Point(arrowLength - arrowHeadLength, centerY - arrowHeadWidth / 2.0), true));
figure.Segments.Add(new LineSegment(new Point(arrowLength, centerY), true));
figure.Segments.Add(new LineSegment(new Point(arrowLength - arrowHeadLength, centerY + arrowHeadWidth / 2.0), true));
figure.Segments.Add(new LineSegment(new Point(arrowLength - arrowHeadLength, centerY + arrowWidth / 2.0), true));
figure.Segments.Add(new LineSegment(new Point(0, centerY + arrowWidth / 2.0), true));
var geometry = new PathGeometry();
geometry.Figures.Add(figure);
var borderPen = new Pen(Brushes.White, 10)
{
LineJoin = PenLineJoin.Round
};
var arrowDrawing = new GeometryDrawing(Brushes.Transparent, borderPen, geometry);
FormattedText formattedText = new FormattedText(
"Test",
System.Globalization.CultureInfo.CurrentUICulture,
FlowDirection.LeftToRight,
new Typeface("Tahoma"),
12,
Brushes.Black);
formattedText.MaxTextWidth = arrowLength - 40;
formattedText.MaxTextHeight = arrowWidth - 10;
Geometry textGeometry = formattedText.BuildGeometry(new System.Windows.Point(20, 5));
GeometryDrawing textDrawing = new GeometryDrawing(Brushes.Red, new Pen(Brushes.Red, 1), textGeometry);
var drawingGroup = new DrawingGroup();
drawingGroup.Children.Add(arrowDrawing);
drawingGroup.Children.Add(textDrawing);
var brush = new DrawingBrush(drawingGroup);
但我只得到显示的箭头。我究竟做错了什么?如果我注释掉该行drawingGroup.Children.Add(arrowDrawing);
,我会显示文本。
任何建议都会有所帮助。提前致谢,
本尼
编辑: 添加箭头的创建
解决方案
推荐阅读
- r - 如何创建一个函数以有条件地在多列中执行算术运算
- android - 使用 Fresco 库全屏显示 GIF 图像
- java - 在 Java 上使用嵌套未来时的取消问题
- python-3.x - 模型拟合需要 1 个数组,但我得到了 768
- java - OpenJDK 11 java.lang.ClassCastException:类 sun.font.CompositeFont 不能转换为类 sun.font.PhysicalFont
- javascript - 用户脚本永远运行(不断重新加载页面,而不是重定向一次)
- docker - 在 jenkins docker 容器上运行命令以将文件复制到主机
- jquery - 过渡和 translate3d 水平滑块动画问题
- python - Grep python 输出流(尝试打印和标准输出)
- octobercms - 打印网址在开头添加双斜杠