C# 文本绘制

一 文本的绘制

1 文本的绘制

g.DrawString(text,//文本
font,//字体
brush,//刷子
x,y,//左上角位置
format//格式与对齐
);

2 字体属性

字体的创建:Font;
字体名称fontFamily;
字体大小fontSize;
字体样式fontStyle,如粗体、斜体等
示例:

Font font=new Font("宋体",16,FontStyle.Bold);

其中,字体默认单位是Point,不是Pixel。
可以用GraphicsUnit指定单位。
示例:

Font font=new Font("宋体",16,GraphicsUnit.Point);
Font font=new Font("宋体",16,GraphicsUnit.Pixel);

字体风格 fontStyle
常见的风格有:
FontStyle.Regular 普通
FontStyle.Bold 粗体
FontStyle.Italic 斜体
FontStyle.Underline 下划线
其中,默认的字体风格为 FontStyle.Regular。可以设定字体风格,例如,

Font font1 = new Font("宋体",  FontStyle.Bold );
Font font2 = new Font("宋体",  FontStyle.Italic );
Font font3 = new Font("宋体",  FontStyle.Bold | FontStyle.Italic ); // 粗体+ 斜体

其中,可以用位运算符 | 将多个风格连在一起。

3 位置与对齐

默认地,x,y指的是文本左上角的显示位置;x,y与format一起,共同指定其显示的位置。

二 要点与细节

1 字体大小的单位是Point,不是像素。

2 字体Font内也包含非托管资源,需要Dispose。

源代码
文本的绘制.rar: https://url09.ctfile.com/f/22158009-727367957-10e65e?p=5939 (访问密码: 5939)

三 文本的对齐

文本的对齐;设定文本显示的位置,比如:水平居中、竖直居中。

1 代码实现

StringFormat format=new StringFormat();
format.Alignment=StringAlignment.Near;
format.LineAlignment=StringAlignment.Center;
g.DrawStriing(text,font,brush,textRect,format);

其中,textRect规定一个矩形框区域。

四 要点与细节

1 此种方法也适用于多行文本的绘制,支持自动换行;

2 将俩如果需要更精细的测算,还可以使用Graphics.MeasureString()可以测算出一段文本所需的显示空间的大小。

源代码
文本的对齐.rar: https://url09.ctfile.com/f/22158009-727372190-850f67?p=5939 (访问密码: 5939)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值