使用GDI+实现空心字

时间:2022-05-09 06:12:03

        在.Net中,可以使用GraphicsPath实现空心字的效果。

        以下的示例适用于 Windows 窗体,需要一个按钮的Click事件。
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = this.CreateGraphics();
            GraphicsPath gp = new GraphicsPath();

            string stringText = "*";
            FontFamily family = new FontFamily("宋体");    //字体
            int fontStyle = (int)FontStyle.Bold;    //字体样式
            int emSize = 56;    //字体大小
            Point origin = new Point(20, 20);    //文本的起始点,即左上角
            StringFormat format = StringFormat.GenericDefault;    //默认的文本格式

            gp.AddString(stringText,
                family,
                fontStyle,
                emSize,
                origin,
                format);    //向路径添加文本字符串

            //g.FillPath(new SolidBrush(Color.Black), gp);
            g.DrawPath(new Pen(Color.Red), gp);    //把路径画出来

            g.Dispose();
        }

         运行效果如下图
        使用GDI+实现空心字