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

功能:

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

声明:
void setfont(
    int nHeight,
    int nWidth,
    LPCSTR lpszFace,
    PIMAGE pimg = NULL
);

void setfont(
    int nHeight,
    int nWidth,
    LPCSTR lpszFace,
    int nEscapement,
    int nOrientation,
    int nWeight,
    bool bItalic,
    bool bUnderline,
    bool bStrikeOut,
    PIMAGE pimg = NULL
);

void setfont(
    int nHeight,
    int nWidth,
    LPCSTR lpszFace,
    int nEscapement,
    int nOrientation,
    int nWeight,
    bool bItalic,
    bool bUnderline,
    bool bStrikeOut,
    BYTE fbCharSet,
    BYTE fbOutPrecision,
    BYTE fbClipPrecision,
    BYTE fbQuality,
    BYTE fbPitchAndFamily,
    PIMAGE pimg = NULL
);

void setfont(
    const LOGFONT *font,
    PIMAGE pimg = NULL
);
参数: nHeight 指定高度(逻辑单位)。如果为正,表示指定的高度包括字体的默认行距;如果为负,表示指定的高度只是字符的高度。 nWidth 字符的平均宽度(逻辑单位)。如果为 0,则比例自适应。 lpszFace 字体名称。对于此参数均有LPCSTR和LPCWSTR两个版本,以上函数声明仅列出一种。提供两个接口是为了方便能同时使用两种不同的字符集。 常用的字体名称有:宋体,楷体_GB2312,隶书,黑体,幼圆,新宋体,仿宋_GB2312,Fixedsys,Arial,Times New Roman 具体可用名字,可查阅你系统已安装字体。 nEscapement 字符串的书写角度,单位为 0.1°。 nOrientation 每个字符的书写角度,单位为 0.1°。 nWeight 字符的笔画粗细,范围 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
bItalic 是否斜体,true / false。 bUnderline 是否有下划线,true / false。 bStrikeOut 是否有删除线,true / false。 fbCharSet 指定字符集(详见 LOGFONT 结构体)。 fbOutPrecision 指定文字的输出精度(详见 LOGFONT 结构体)。 fbClipPrecision 指定文字的剪辑精度(详见 LOGFONT 结构体)。 fbQuality 指定文字的输出质量(详见 LOGFONT 结构体)。 fbPitchAndFamily 指定以常规方式描述字体的字体系列(详见 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,"抗锯齿效果");