zoukankan      html  css  js  c++  java
  • 路径

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6220618.html 

      在设备描述表中还有一个路径层(path bracket的概念。在MFC中,创建路径层是利用CDC类提供的BeginPath和EndPath这两个函数来实现。

          首先调用BeginPath,该函数的作用是在设备描述表中打开一个路径层;然后利用图形设备接口GDI提供的绘图函数进行绘图操作,例如绘制一些点、矩形、椭圆等;最后在绘图操作完成之后,应用程序通过调用EndPath函数关闭这个路径层。

          CDC类提供的获取字符串在屏幕上显示的宽度和高度:GetTextExtent函数。声明如下:

    CSize GetTextExtent ( const CString& str ) const;它有两个成员变量cx和cy分别表示宽度和高度。

          区别GetTextExtent函数和GetTextMetrics函数:对GetTextExtent函数来说,它获得的是设备描述表中当前字体的度量信息。而GetTextMetrics函数则是获得某个特定的字符串在窗口中显示时所占据的宽度和高度。

      代码如下:

      效果图:

      可以看出网格压盖了输出的文字。

      还有一个概念叫裁剪区域(clipping region,CDC类提供了一个SelectClipPath函数,用于把当前设置的路径层和设备描述表中已有的裁剪区域按照一种指定的模式进行互操作。SelectClipPath函数以及常用的模式及说明如下图示:

      代码如下:

       运行结果如图示:

      由此可知,我们可以通过路径层来实现特殊的效果

     

      如果有疑问,可以联系giserdev@163.com,更多内容请参考:http://www.cnblogs.com/mxbs/,技术交流请加QQ群:586571286。

     

  • 相关阅读:
    1058
    light oj 1067 费马小定理求逆元
    HDU 1022
    贪心
    HDU 4994 博弈。
    HDU 5234 背包。
    CodeForces 327B 水题。
    vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用
    Object.assign的用法
    react + antd 实现打印功能(踩了不少坑)
  • 原文地址:https://www.cnblogs.com/mxbs/p/6220618.html
Copyright © 2011-2022 走看看