zoukankan      html  css  js  c++  java
  • MeasureString 通过文本宽度获取绘制高度

    using System;
    using System.Data;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Drawing;


    namespace NewsWebApp.Biz
    {
       
     
        public  class TextCount
        {
            System.Drawing.Font gdiFont;
            System.Drawing.Graphics graphics;
            public Font Font
            {
                get { return this.font; }
                set
                {
                    if (value == null)
                        throw new ArgumentNullException("value");
                    if (this.font != value)
                    {
                        this.font = value;
                        this.gdiFont = null;
                    }
                }
            }
            Font font;
     
           /// <summary>
           /// 通过宽度测量文本高度
           /// </summary>
           /// <param name="text">文本</param>
           /// <param name="Textwidth">文本高度</param>
           /// <returns></returns>
            public  float GetHeightByText(string text, int Textwidth)
            {
                Graphics g = Realize();
                Font stringFont = new Font("Arial", 16);
                StringFormat newStringFormat = new StringFormat();
                newStringFormat.FormatFlags = StringFormatFlags.LineLimit;
                // Measure string.
                SizeF stringSize = new SizeF();
                stringSize = g.MeasureString(text, stringFont, Textwidth, newStringFormat);
                return stringSize.Height;
            }

            Graphics Realize()
            {
                if (this.graphics == null)
                    this.graphics = Graphics.FromHwnd(IntPtr.Zero);
                this.graphics.PageUnit = GraphicsUnit.Point;
               
                return this.graphics;
            }
     

        }
    }
     

  • 相关阅读:
    406. 根据身高重建队列 vector 自定义排序
    5552. 到家的最少跳跃次数 BFS
    5602. 将 x 减到 0 的最小操作数 双指针
    Hadoop Container is running beyond memory limits code143
    1122. 数组的相对排序 自定义排序
    328. 奇偶链表 链表
    127. 单词接龙 bfs
    5600. 第 K 条最小指令 组合数学
    5548. 最小体力消耗路径 二分
    1024. 视频拼接 dp
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3572007.html
Copyright © 2011-2022 走看看