绘制文本 (GDI+)

您所在的位置:网站首页 drawstring函数的用法 绘制文本 (GDI+)

绘制文本 (GDI+)

2023-11-28 22:14| 来源: 网络整理| 查看: 265

绘制文本 (GDI+) 项目 06/13/2023

可以使用 Graphics 类的 DrawString 方法在指定位置或指定矩形内绘制文本。

在指定位置绘制文本 在矩形中绘制文本 在指定位置绘制文本

若要在指定位置绘制文本,需要 Graphics、 FontFamily、 Font、 PointF 和 Brush 对象。

以下示例在 30, 10) 的位置 (绘制字符串“Hello”。 字体系列为 Times New Roman。 字体是字体系列的各个成员,是 Times New Roman,大小为 24 像素,常规样式。 假设 图形 是现有的 Graphics 对象。

FontFamily fontFamily(L"Times New Roman"); Font font(&fontFamily, 24, FontStyleRegular, UnitPixel); PointF pointF(30.0f, 10.0f); SolidBrush solidBrush(Color(255, 0, 0, 255)); graphics.DrawString(L"Hello", -1, &font, pointF, &solidBrush);

下图显示了上述代码的输出。

在前面的示例中, FontFamily 构造函数接收标识字体系列的字符串。 FontFamily 对象的地址作为第一个参数传递给 Font 构造函数。 传递给 Font 构造函数的第二个参数指定以第四个参数给定的单位度量的字体大小。 第三个参数指定字体) (常规、粗体、斜体等样式。

DrawString 方法接收五个参数。 第一个参数是要绘制的字符串,第二个参数是长度 (字符,而不是该字符串) 字节。 如果字符串以 null 结尾,则可以传递 –1 作为长度。 第三个参数是先前构造的 Font 对象的地址。 第四个参数是 PointF 对象,该对象包含字符串左上角的坐标。 第五个参数是用于填充字符串字符的 SolidBrush 对象的地址。

在矩形中绘制文本

Graphics 类的 DrawString 方法之一具有 RectF 参数。 通过调用该 DrawString 方法,可以绘制在指定矩形中换行的文本。 若要在矩形中绘制文本,需要 Graphics、 FontFamily、 Font、 RectF 和 Brush 对象。

以下示例创建一个矩形,其左上角 (30、10) 、宽度 100、高度 122。 然后,代码在该矩形内绘制一个字符串。 字符串被限制为矩形,并且以这样一种方式换行,这样就不会破坏单个单词。

WCHAR string[] = L"Draw text in a rectangle by passing a RectF to the DrawString method."; FontFamily fontFamily(L"Arial"); Font font(&fontFamily, 12, FontStyleBold, UnitPoint); RectF rectF(30.0f, 10.0f, 100.0f, 122.0f); SolidBrush solidBrush(Color(255, 0, 0, 255)); graphics.DrawString(string, -1, &font, rectF, NULL, &solidBrush); Pen pen(Color(255, 0, 0, 0)); graphics.DrawRectangle(&pen, rectF);

下图显示了在矩形中绘制的文本。

在前面的示例中,传递给 DrawString 方法的第四个参数是一个 RectF 对象,该对象指定文本的边框。 第五个参数的类型为 StringFormat , 参数为 NULL ,因为不需要特殊的字符串格式设置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3