0
我試圖覈實爲例CFont
高度和尺寸之間的依賴關係:從C++中的大小計算字體高度?
int main(int argc, char* argv[])
{
int myVariableFontHeight = 90;
CFont * font = new CFont();
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight = myVariableFontHeight;
lf.lfWeight =FW_BOLD;
lf.lfCharSet = 1;
_tcscpy_s(lf.lfFaceName , "Arial Unicode MS");
font->CreatePointFontIndirect(&lf);
font->GetLogFont(&lf);
int fontHeight = lf.lfHeight;
HWND console = GetConsoleWindow();
HDC dc = GetDC(console);
int nFontSize = -::MulDiv(lf.lfHeight, 72, ::GetDeviceCaps(dc, LOGPIXELSY));
delete font;
return 0;
}
而結果總是nFontSize = myVariableFontHeight/10
。這是什麼因素10?它從哪裏來?我可以從給定尺寸計算字體高度嗎?
謝謝
了什麼問題是你真的想解決? – IInspectable
在我們的工具myVariableFontHeight有一個固定值90.我做了它可配置後,我想使用像普通文本編輯器中的字體大小。但是這個var在代碼中被多次使用,所以我不想打破邏輯並用myFontSize進行計算。 – alex555