C#学习笔记:在控件上绘制文字

本文介绍了如何在PictureBox等不支持文本显示的控件上绘制文字的方法,包括使用GDI技术绘制图像文字和文字轮廓的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于像Label、Button、TextBox等控件,它们本身就具有文本显示功能,显示文字自然不是问题。但是对于PictureBox、Panel等控件,它们不具备文本显示的功能,而我又想让他们显示文字,这就需要多动一些脑筋了。有人会说,如果要在PictureBox上显示文字,直接在PictureBox上放一个Label不就得了吗?当然,这是可以的,而且还挺方便的。但是如果要做一些看起来更酷的文字的话,这种方法就不管用了。下面介绍图像文字和图形文字的绘制方法。

一、在控件上绘制图像文字

所谓图像文字就是平常我们看到的那种,文字是由点阵填充的。如下图,在一个PictureBox上绘制几个英文字母。

这里写图片描述

要实现上图的效果,需要用到一点GDI的知识。下面是实现的代码:

            //创建一个图形,该图形绘制在pictureBox1上
            Graphics text = pictureBox1.CreateGraphics();

            //创建一个画刷,颜色是纯色
            Brush brush = new SolidBrush(Color.FromArgb(0, 255, 255));
            //选择字体、字号、风格
            Font font = new Font("Adobe Gothic Std", 72f, FontStyle.Bold);
            //在位置(150,200)处绘制文字
            text.DrawString("OpenGL", font, brush, 150, 200);

二、在控件上绘制文字的轮廓

下图显示的是在pictureBox上绘制的文字轮廓。

这里写图片描述

实现上图效果的代码:


            Graphics g = pictureBox1.CreateGraphics();
            Brush brush = new SolidBrush(Color.FromArgb(255, 255, 0));
            //创建一个图形路径
            GraphicsPath path = new GraphicsPath(FillMode.Winding);
            //向路径中添加字符串
            path.AddString("纷纷OpenGL", new FontFamily("华文新魏"), 1, 108f, new Point(150, 250), new StringFormat(StringFormatFlags.LineLimit));

            //绘制文字的轮廓
            g.DrawPath(new Pen(brush), path);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shifenglv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值