public static RectangleF MeasureString(SizeF sizeConstraint, string text, string fontName, float fontSize) { NSMutableDictionary dict = new NSMutableDictionary(); dict.Add(NSAttributedString.FontAttributeName, NSFont.FromFontName(fontName, fontSize)); NSString nsstr = new NSString(text); RectangleF rect = nsstr.BoundingRectWithSize(sizeConstraint, NSStringDrawingOptions.UsesFontLeading | NSStringDrawingOptions.UsesLineFragmentOrigin, dict); return rect; }
public static void DrawText(RectangleF rect, float x, float y, string text, string fontName, float fontSize, NSColor fontColor) { NSMutableDictionary dict = new NSMutableDictionary(); dict.Add(NSAttributedString.FontAttributeName, NSFont.FromFontName(fontName, fontSize)); dict.Add(NSAttributedString.ForegroundColorAttributeName, fontColor); NSString nsstr = new NSString(text); RectangleF rectBounds = nsstr.BoundingRectWithSize(new SizeF(rect.Width, rect.Height), NSStringDrawingOptions.UsesFontLeading | NSStringDrawingOptions.UsesLineFragmentOrigin, dict); rectBounds.X = rect.X + x; rectBounds.Y = rect.Y + y; nsstr.DrawString(rectBounds, NSStringDrawingOptions.UsesFontLeading | NSStringDrawingOptions.UsesLineFragmentOrigin, dict); }