CFont font;
font.CreateFont(19,0,0,0,400,FALSE,FALSE,0, ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH|FF_SWISS,"vt100");
CDC MemDc;
CBitmap bitmap; MemDc.CreateCompatibleDC (NULL);
bitmap.CreateCompatibleBitmap (pDC, 800 , 250);
MemDc.SelectObject (&bitmap);
MemDc.SelectObject(&font); MemDc.SetMapMode (MM_ANISOTROPIC);
MemDc.SetWindowExt (80,25);
MemDc.SetViewportExt (800,250);
for (int i = 0;i<80;i++)
for (int j = 0;j < 25;j++)
MemDc.TextOut (i,j,"A");
pDC->StretchBlt (100,100,640,400,&MemDc,0,0,80,25,SRCCOPY); bitmap.DeleteObject();
MemDc.DeleteDC();
此段代码写于OnDraw()之中,如上所示,我先自定义font字体,但坐标重映射后,它在MemDc里的输出是按映射后的逻辑单位,所以其大.请问何解?谢!!.
font.CreateFont(19,0,0,0,400,FALSE,FALSE,0, ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH|FF_SWISS,"vt100");
CDC MemDc;
CBitmap bitmap; MemDc.CreateCompatibleDC (NULL);
bitmap.CreateCompatibleBitmap (pDC, 800 , 250);
MemDc.SelectObject (&bitmap);
MemDc.SelectObject(&font); MemDc.SetMapMode (MM_ANISOTROPIC);
MemDc.SetWindowExt (80,25);
MemDc.SetViewportExt (800,250);
for (int i = 0;i<80;i++)
for (int j = 0;j < 25;j++)
MemDc.TextOut (i,j,"A");
pDC->StretchBlt (100,100,640,400,&MemDc,0,0,80,25,SRCCOPY); bitmap.DeleteObject();
MemDc.DeleteDC();
此段代码写于OnDraw()之中,如上所示,我先自定义font字体,但坐标重映射后,它在MemDc里的输出是按映射后的逻辑单位,所以其大.请问何解?谢!!.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货