お世話になっています。先日はDrawStringToHandleの描画時間についてご回答ありがとうございました。
DrawStringToHandleで文字を描画するときに、描画前にCreateMaskScreenしていると文字の下部が切れてしまう現象に遭遇しました。
こちら対処方法があればご教示頂けないでしょうか。
○現象
文字列"y"をDrawStringToHandleで描画すると、yの下部が切れてvに見えてしまう
○検証フォント(フリーフォントです)
NotoSansJP(otf)
//fonts.google.com/noto/specimen/Noto+Sans+JP?subset=japanese
※URLの先頭文字は削除しています
○検証環境
Windows10
C++版 DXLib_Ver3.23
VisualStudio2019
○検証コード
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
DXlibQA2();
return 0;
}
void DXlibQA2() {
SetGraphMode(1280, 720, 32);
ChangeWindowMode(true);
SetAlwaysRunFlag(TRUE);
if (DxLib_Init() == -1) {
return;
}
SetDrawScreen(DX_SCREEN_BACK);
LPCSTR font_path1 = "GameData1\\font\\NotoSansJP.otf";
AddFontResourceEx(font_path1, FR_PRIVATE, nullptr);
int font1 = CreateFontToHandle("Noto Sans JP", 160, 3, DX_FONTTYPE_NORMAL, -1, -1);
CreateMaskScreen(); // ←これを削除すると正しく描画される
while (!ProcessMessage()) {
ClearDrawScreen();
DrawStringToHandle(100, 100, "ayg", GetColor(255, 255, 255), font1, GetColor(255, 0, 0));
ScreenFlip();
clsDx();
}
}