public Bitmap Render() { var txt = GetInFixNotation(); var size = DrawingHelpers.GetSizeOfText(txt, DrawingHelpers.globalFont); Bitmap bmp = new Bitmap((int)size.Width, (int)size.Height); Graphics g = Graphics.FromImage(bmp); var brush = new SolidBrush(DrawingHelpers.globalColor); g.DrawString(txt, DrawingHelpers.globalFont, brush, new PointF(0, 0)); brush.Dispose(); g.Dispose(); return(bmp); }
public Bitmap Render() { var parameterLeftBmp = this.FirstParameter.Render(); var parameterRightBmp = this.SecondParameter.Render(); var sizeFunctionStart = DrawingHelpers.GetSizeOfText("log(", DrawingHelpers.globalFont); var sizeFunctionMiddle = DrawingHelpers.GetSizeOfText(", ", DrawingHelpers.globalFont); var sizeFunctionEnd = DrawingHelpers.GetSizeOfText(")", DrawingHelpers.globalFont); var brush = new SolidBrush(DrawingHelpers.globalColor); var bmp = new Bitmap( (int)sizeFunctionStart.Width + parameterLeftBmp.Width + (int)sizeFunctionMiddle.Width + parameterRightBmp.Width + (int)sizeFunctionEnd.Width, Math.Max(parameterRightBmp.Height, Math.Max((int)sizeFunctionStart.Height, parameterLeftBmp.Height))); Graphics g = Graphics.FromImage(bmp); g.DrawString("log(", DrawingHelpers.globalFont, brush, new PointF(0, bmp.Height - (int)sizeFunctionStart.Height)); g.DrawImage(parameterLeftBmp, new Point((int)sizeFunctionStart.Width + DrawingHelpers.Padding, bmp.Height - parameterLeftBmp.Height)); g.DrawString(", ", DrawingHelpers.globalFont, brush, new PointF((int)sizeFunctionStart.Width + DrawingHelpers.Padding + parameterLeftBmp.Width, bmp.Height - (int)sizeFunctionMiddle.Height)); g.DrawImage(parameterRightBmp, new Point((int)sizeFunctionStart.Width + DrawingHelpers.Padding + (int)sizeFunctionMiddle.Width, bmp.Height - parameterRightBmp.Height)); g.DrawString(")", DrawingHelpers.globalFont, brush, new PointF((int)sizeFunctionStart.Width + 2 * DrawingHelpers.Padding + parameterRightBmp.Width + parameterLeftBmp.Width + (int)sizeFunctionMiddle.Width, bmp.Height - (int)sizeFunctionEnd.Height)); g.Dispose(); parameterLeftBmp.Dispose(); parameterRightBmp.Dispose(); brush.Dispose(); return(bmp); }