Measure Font height and draw surrounding Rectangle : Font Unit Metrics « 2D Graphics « C# / C Sharp






Measure Font height and draw surrounding Rectangle

Measure Font height and draw surrounding Rectangle


  using System;
  using System.Drawing;
  using System.Drawing.Drawing2D;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  using System.Data;
  using System.Drawing.Imaging;

  public class Form1 : System.Windows.Forms.Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void InitializeComponent()
    {
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 273);
      this.Text = "Pen Cap App";
      this.Resize += new System.EventHandler(this.Form1_Resize);
      this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);

    }
    static void Main() 
    {
      Application.Run(new Form1());
    }

    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {      
      Graphics g = e.Graphics;
      g.FillRectangle(Brushes.White, this.ClientRectangle);

      FontFamily ff = new FontFamily("Times New Roman");
      Font f = new Font(ff, 30);
      String s = "www.java2s.com Height: " + f.Height;
      SizeF sf = g.MeasureString(s, f, Int32.MaxValue, StringFormat.GenericTypographic);
      RectangleF r = new RectangleF(0, 0, sf.Width, f.Height);

      g.DrawRectangle(Pens.Black, r.Left, r.Top, r.Width, r.Height);
      g.DrawString(s, f, Brushes.Black, r, StringFormat.GenericTypographic);

      f.Dispose();

    }

    private void Form1_Resize(object sender, System.EventArgs e)
    {
      Invalidate();
    }
  }

           
       








Related examples in the same category

1.Get font cell ascent, descent, LineSpacing and EmHeightGet font cell ascent, descent, LineSpacing and EmHeight
2.Calculate font unit metrics from the font familyCalculate font unit metrics from the font family
3.Calculate GraphicsUnit metrics from the fontCalculate GraphicsUnit metrics from the font
4.Draw a line for the ascent, descent, baseline, textOriginDraw a line for the ascent, descent, baseline, textOrigin
5.Derive surrounding Rectangle from StringDerive surrounding Rectangle from String