我想添加一个位于绘图区域特定位置的TextAnnotation,其方式与轴平移或缩放无关 - 类似于水印。
我注意到TextAnnotation位置只能由DataPoint确定,而ImageAnnotation具有用于定位的X和Y属性。
答案 0 :(得分:3)
很容易创建一个自定义的:
public class CustomTextAnnotation : Annotation
{
public CustomTextAnnotation()
{ }
public string Text { get; set; }
public double X { get; set; }
public double Y { get; set; }
public override void Render(IRenderContext rc)
{
base.Render(rc);
double pX = PlotModel.PlotArea.Left + X;
double pY = PlotModel.PlotArea.Top + Y;
rc.DrawMultilineText(new ScreenPoint(pX, pY), Text, TextColor, Font, FontSize, FontWeight);
}
}
请注意,您应该设置Font,FontSize等:
plotModel.Annotations.Add(new CustomTextAnnotation() {
Text = "A B C",
X = 110,
Y = 10,
Font = "Times New Roman",
FontSize = 12,
TextColor = OxyColors.Black });
此外,请注意您可以添加其他属性,如边框颜色和其他东西,但是,事情可能会变得复杂(我没有尝试)。
希望有所帮助: