关于GetDeviceCaps函数与SetMapMode函数中的误差问题 ( 积分: 100 )

  • 主题发起人 主题发起人 gwbbxiong
  • 开始时间 开始时间
G

gwbbxiong

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了下一面行代码,在窗体上画了两条线,
Canvas.LineTo(GetDeviceCaps(GetDC(0),LOGPIXELSX),0);
SetMapMode(Canvas.Handle,MM_LOENGLISH );
Canvas.MoveTo(0,-10);
Canvas.LineTo (100,-10);
首先用GetDeviceCaps(GetDC(0),LOGPIXELSX)得到每英寸的象素数,以此长度画一条线。
然后将映射模式改为MM_LOENGLISH,再画一个一英寸长的线,可两条线不一样长,请教各位大侠,为什么?
 
我写了下一面行代码,在窗体上画了两条线,
Canvas.LineTo(GetDeviceCaps(GetDC(0),LOGPIXELSX),0);
SetMapMode(Canvas.Handle,MM_LOENGLISH );
Canvas.MoveTo(0,-10);
Canvas.LineTo (100,-10);
首先用GetDeviceCaps(GetDC(0),LOGPIXELSX)得到每英寸的象素数,以此长度画一条线。
然后将映射模式改为MM_LOENGLISH,再画一个一英寸长的线,可两条线不一样长,请教各位大侠,为什么?
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
930
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
388
import
I
后退
顶部