⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vcc62.htm

📁 SHELL排序算法与应用
💻 HTM
字号:
<html>
<head>
<title>c++系列</title>
 
 
 
 
 
 
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
 
 
</head>
<p align="center"><script src="../../1.js"></script></a>

<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center> 
  <table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
    <tbody> 
    <tr> 
      <td width=200 height="59"> 
         
    </tr>
    </tbody> 
  </table>
  <table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0 
cellspacing=0 width=685 align="center" height="70">
    <tbody> 
    <tr> 
      <td bgcolor=#F9D23C height=14> 
        <div align=center class=H1><font color="#FFFFFF">使用各种映射方式</font></div>
      </td>
    </tr>
    <tr valign=top> 
      <td class=H1 height=51> 
        <p align="left" class="unnamed1">所谓的映射方式简单点讲就是坐标的安排方式,系统默认的映射方式为MM_TEXT即X坐标向右增加,Y坐标向下增加,(0,0)在屏幕左上方,DC中的每一点就是屏幕上的一个象素。也许你会认为这种方式下是最好理解的,但是一个点和象素对应的关系在屏幕上看来是正常的,但到了打印机上就会很不正常。因为我们作图是以点为单位并且打印机的分辨率远远比显示器高(800DPI 
          800点每英寸)所以在打印机上图形看起来就会很小。这样就需要为打印另做一套代码而加大了工作量。如果每个点对应0.1毫米那么在屏幕上的图形就会和打印出来的图形一样大小。</p>
        <p class="unnamed1"><span class="unnamed1">通过int CDC::SetMapMode( int 
          nMapMode )可以指定映射方式,可用的有以下几种: </span>
        <ul type=disc>
          <li class="unnamed1"> <b>MM_HIENGLISH</b> 每点对应0.001英寸&nbsp;&nbsp;&nbsp;Each 
            logical unit is converted to 0.001 inch. Positive x is to the right; 
            positive y is up.<br>
            <br>
            </span>
          <li class="unnamed1"> <b>MM_HIMETRIC</b> 每点对应0.001毫米&nbsp;&nbsp;&nbsp;Each 
            logical unit is converted to 0.01 millimeter. Positive x is to the 
            right; positive y is up.<br>
            <br>
            </span>
          <li class="unnamed1"> <b>MM_LOENGLISH</b> 每点对应0.01英寸&nbsp;&nbsp;&nbsp;Each 
            logical unit is converted to 0.01 inch. Positive x is to the right; 
            positive y is up.<br>
            <br>
            </span>
          <li class="unnamed1"> <b>MM_LOMETRIC</b> 每点对应0.001毫米&nbsp;&nbsp;&nbsp;Each 
            logical unit is converted to 0.1 millimeter. Positive x is to the 
            right; positive y is up.<br>
            <br>
            </span>
          <li class="unnamed1"> <b>MM_TEXT</b> 象素对应&nbsp;&nbsp;&nbsp;Each 
            logical unit is converted to 1 device pixel. Positive x is to the 
            right; positive y is down.<br>
            <br>
            </span></li>
        </ul>
        <span class="unnamed1">以上几种映射默认的原点在屏幕左上方。除MM_TEXT外都为X坐标向右增加,Y坐标向上增加,和自然坐标是一致的。所以在作图是要注意什么时候应该使用负坐标。而且以上的映射都是X-Y等比例的,即相同的长度在X,Y轴上显示的长度都是相同的。<a 
            href="../../www.pconline.com.cn/pcedu/empolder/doc/vc/25_g1.gif" 
            target=_blank>观看不同映射效果图</a> </span> 
        <p></p>
        <p class="unnamed1"><span class="unnamed1">另外的一种映射方式为<b>MM_ANISOTROPIC</b>,这种方式可以规定不同的长宽比例。在设置这中映射方式后必须调用CSize 
          CDC::SetWindowExt( SIZE size )和CSize CDC::SetViewportExt( SIZE size 
          )来设定长宽比例。系统会根据两次设定的长宽的比值来确定长宽比例。下面给出一段代码比较映射前后的长宽比例: </span>
        <pre class="unnamed1"><span class="unnamed1">OnDraw(CDC* pDC)
{
	CRect rcC1(200,0,400,200);
	pDC-&gt;FillSolidRect(rcC1,RGB(0,0,255));
	pDC-&gt;SetMapMode(MM_ANISOTROPIC );
	CSize sizeO;
	sizeO=pDC-&gt;SetWindowExt(5,5);
	TRACE("winExt %d %d\n",sizeO.cx,sizeO.cy);
	sizeO=pDC-&gt;SetViewportExt(5,10);
	TRACE("ViewExt %d %d\n",sizeO.cx,sizeO.cy);
	CRect rcC(0,0,200,200);
	pDC-&gt;FillSolidRect(rcC,RGB(0,128,0));
}
</span></pre>
        <span class="unnamed1">上面代码在映射后画出的图形将是一个长方形。观看效果图 </span> 
        <p></p>
        <p class="unnamed1"> 最后讲讲视原点(viewport origin),你可以通过调用CPoint 
          CDC::SetViewportOrg( POINT point )重新设置原点的位置,这就相对于对坐标进行了位移。例如你将原点设置在(20,20)那么原来的(0,0)就变成了(-20,-20)。</span></p>
            <div align="left"> </div>
         
      </td>
    </tr>
    </tbody> 
  </table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -