|
|
发表于 2005-2-14 19:14:00
|
显示全部楼层
Re:请问如何改变自己做的游戏中的字体大小?
你使用的是点阵字库吗?如果是那就只能多添加几个字库了,比如12点阵、16点阵,24点阵等,或者利用算法进行缩放,不过效果不好!如果不是那就用如下方法吧(适用于2D-DDraw程序):
// CreateFont()中第一个参数就是指定字体大小的。
HFONT font12=CreateFont(12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, VARIABLE_PITCH, "宋体");
HFONT font24=CreateFont(24, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, VARIABLE_PITCH, "宋体");
void GTextOut( LPDIRECTDRAWSURFACE7 text_surf, CString Content, int x, int y, HFONT font, COLORREF color )
{
HDC hDC;
if(text_surf->GetDC(&hDC)==DD_OK)
{
SetBkMode( hDC, TRANSPARENT );
SelectObject( hDC, font );
SetTextColor( hDC, color );
TextOut( hDC, x, y, Content, lstrlen(Content));
text_surf->ReleaseDC( hDC );
}
}
//输出文本
GTextOut(textsurf, "你好!", 20, 30, font12, RGB(255,255,255));
GTextOut(textsurf, "你好!", 20, 50, font24, RGB(255,255,255)); |
|