图形基础(六十一)

2010-12-30 21:10:52 · 作者: · 浏览: 40683
,y) MM_LOMETRIC (1024, -768) (3,200, 2,400) MM_HIMETRIC (1024, -768) (32,000, 24,000) MM_LOENGLISH (1024, -768) (1,260, 945) MM_HIENGLISH (1024, -768) (12,598, 9,449) MM_TWIPS (1024, -768) (18,142, 13,606)

这些视窗范围表示包含显示器全部宽度和高度的逻辑单位元数值。320毫米宽的萤幕也为1260 MM_LOENGLISH单位或12.6英寸(320除以25.4毫米/英寸)。

范围中,y前面的负号表示改变了轴的方向。对於这五种映射方式,y值随上升而增加,然而注意内定的视窗和视埠原点均为(0,0)。这个事实有一个有趣的结果。当一开始改变为五种映射方式之一时,座标系如下:


 

要想在显示区域显示任何东西,必须使用负的y值。例如下面的程式码:

将把文字显示在距离显示区域左边和上边各一英寸的地方。

为了使自己保持头脑清醒,您可能想避免这样做。一种解决办法是将逻辑的(0,0)点设为显示区域的左下角,您可以通过呼叫SetViewportOrgEx来完成(假设cyClient是以图素为单位的显示区域的高度):

此时的座标系如下:


 

这是直角座标系的右上象限。

另一种方法是将逻辑(0,0)点设为显示区域的中心:

此时的座标系如下所示: