0

我正在尝试在 MonoMac 中绘制一些文本,但没有成功。在提供的示例中,绘制了圆圈,但没有出现文本。

var context = NSGraphicsContext.CurrentContext.GraphicsPort;
context.SetStrokeColor (new CGColor(1.0f, 0f, 0f)); // red
context.SetLineWidth (1.0F);
context.StrokeEllipseInRect (new RectangleF(5, 5, 10, 10));
context.SetTextDrawingMode(CGTextDrawingMode.Stroke);
context.TextPosition = new PointF(0f, 0f);
context.ShowText("My text"); // is not shown

谢谢

4

2 回答 2

0

您只需要指定要使用的字体。

public override void DrawRect (RectangleF dirtyRect)
{
    var context = NSGraphicsContext.CurrentContext.GraphicsPort;

    context.SetStrokeColor (new CGColor(1.0f, 0f, 0f)); // red
    context.SetLineWidth (1.0F);
    context.StrokeEllipseInRect (new RectangleF(5, 5, 10, 10));
    context.SetTextDrawingMode(CGTextDrawingMode.Stroke);
    context.TextPosition = new PointF(0f, 0f);
    context.SelectFont ("Arial", 5, CGTextEncoding.MacRoman);
    context.ShowText("My text");
}
于 2012-08-10T00:28:09.950 回答
0

你只需要重写drawRect。

public override void DrawRect (RectangleF dirtyRect)
    {
        NSString s = new NSString ("test");
        s.DrawString (new PointF(25,100), new NSDictionary ());
    }

如果你想定制它,这里有一个很好的参考

于 2014-01-09T03:18:51.910 回答