经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 游戏设计 » 查看文章
Direct2D 学习笔记(3)图层 Layer
来源:cnblogs  作者:Halation  时间:2019/10/16 11:43:42  对本文有异议
利用图层Layer绘制
资源网址:https://docs.microsoft.com/zh-cn/windows/win32/direct2d/direct2d-layers-overview
 
1.创建图层属性
  1. D2D1_LAYER_PARAMETERS layerParam = D2D1::LayerParameters(
  2. D2D1::InfiniteRect(),
  3. NULL,
  4. D2D1_ANTIALIAS_MODE_PER_PRIMITIVE,
  5. D2D1::IdentityMatrix(),
  6. 1.0,
  7. NULL,
  8. D2D1_LAYER_OPTIONS_NONE
  9. );//以上参数也是LayerParameters()的默认参数

 

结构体原型如下
  1. struct D2D1_LAYER_PARAMETERS
  2. {
  3. D2D1_RECT_F      contentBounds;    //裁切矩形
  4. ID2D1Geometry     *geometricMask;   //利用几何对象裁切
  5. //tip:前两个属性事实上是二选一
  6. D2D1_ANTIALIAS_MODE   maskAntialiasMode; //反锯齿开关
  7. D2D1_MATRIX_3X2_F    maskTransform;    //裁切变换矩阵
  8. FlOAT         opacity;      //图层透明度
  9. ID2D1Brush       *opacityBrush;   //透明度渐变刷(只有透明度起作用)
  10. D2D1_LAYER_OPTIONS   layerOptions;
  11. }

 

2.利用图层绘制
2.1.创建图层
  1. ID2D1Layer *pLayer = NULL;
  2. pRenderTarget->CreateLayer(NULL, &pLayer);

 

2.2.设定图层起始位置
  1. pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(300,250));

 

2.3.绘制图层
  1. pRenderTarget->PushLayer(layerParam, pLayer);
  2. ......; //任意绘制代码,表示在图层上绘制图形
  3. pRenderTarget->PopLayer();

 

2.4.释放图层
  1. pLayer->Release();

 

原文链接:http://www.cnblogs.com/halation/p/11679856.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号