主页 / 库函数目录 / 文字输出 / setfont

功能:

设置当前字体样式,字体颜色另外由setcolor() 或 settextcolor() 设置。

备注:
另有接收类型为 const wchar_t* 的 typeface 参数的重载。

声明:
void setfont(
    int height,
    int width,
    const char* typeface,
    PIMAGE pimg = NULL
);

void setfont(
    int height,
    int width,
    const char* typeface,
    int escapement,
    int orientation,
    int weight,
    bool italic,
    bool underline,
    bool strikeOut,
    PIMAGE pimg = NULL
);

void setfont(
    int height,
    int width,
    const char* typeface,
    int escapement,
    int orientation,
    int weight,
    bool italic,
    bool underline,
    bool strikeOut,
    BYTE charSet,
    BYTE outPrecision,
    BYTE clipPrecision,
    BYTE quality,
    BYTE pitchAndFamily,
    PIMAGE pimg = NULL
);

void setfont(
    const LOGFONT *font,
    PIMAGE pimg = NULL
);
参数: height 指定高度(逻辑单位)。如果为正,表示指定的高度包括字体的默认行距;如果为负,表示指定的高度只是字符的高度。 width 字符的平均宽度(逻辑单位)。如果为 0,则比例自适应。 typeface 字体名称。对于此参数均有const char*和const wchar_t*两个版本,以上函数声明仅列出一种。提供两个接口是为了方便能同时使用两种不同的字符集。 常用的字体名称有:宋体,楷体_GB2312,隶书,黑体,幼圆,新宋体,仿宋_GB2312,Fixedsys,Arial,Times New Roman 具体可用名字,可查阅你系统已安装字体。 escapement 字符串的书写角度,单位为 0.1°。 orientation 每个字符的书写角度,单位为 0.1°。 weight 字符的笔画粗细,范围 0~1000。0 表示默认粗细。使用数字或下表中定义的宏均可:
粗细值
FW_DONTCARE0
FW_THIN100
FW_EXTRALIGHT200
FW_ULTRALIGHT200
FW_LIGHT300
FW_NORMAL400
FW_REGULAR400
FW_MEDIUM500
FW_SEMIBOLD600
FW_DEMIBOLD600
FW_BOLD700
FW_EXTRABOLD800
FW_ULTRABOLD800
FW_HEAVY900
FW_BLACK900
italic 是否斜体,true / false。 underline 是否有下划线,true / false。 strikeOut 是否有删除线,true / false。 charSet 指定字符集(详见 LOGFONT 结构体)。 outPrecision 指定文字的输出精度(详见 LOGFONT 结构体)。 clipPrecision 指定文字的剪辑精度(详见 LOGFONT 结构体)。 quality 指定文字的输出质量(详见 LOGFONT 结构体)。 pitchAndFamily 指定以常规方式描述字体的字体系列(详见 LOGFONT 结构体)。 font 指向 LOGFONT 结构体的指针。 返回值: (无) 示例:
// 设置当前字体为高 16 像素的“宋体”(忽略行距)。
setfont(-16, 0,"宋体");
outtextxy(0, 0,"测试");
// 设置输出效果为抗锯齿(LOGFONTA是MBCS版本,LOGFONTW是UTF16版本)
LOGFONTA f;
getfont(&f);                          // 获取当前字体设置
f.lfHeight = 48;                      // 设置字体高度为 48(包含行距)
strcpy(f.lfFaceName, "黑体");         // 设置字体为“黑体”
f.lfQuality = ANTIALIASED_QUALITY;    // 设置输出效果为抗锯齿
setfont(&f);                          // 设置字体样式
outtextxy(0,50,"抗锯齿效果");