D2D1_LAYER_PARAMETERS layerParam = D2D1::LayerParameters( D2D1::InfiniteRect(), NULL, D2D1_ANTIALIAS_MODE_PER_PRIMITIVE, D2D1::IdentityMatrix(), 1.0, NULL, D2D1_LAYER_OPTIONS_NONE );//以上参数也是LayerParameters()的默认参数
结构体原型如下
struct D2D1_LAYER_PARAMETERS { D2D1_RECT_F contentBounds; //裁切矩形 ID2D1Geometry *geometricMask; //利用几何对象裁切 //tip:前两个属性事实上是二选一
D2D1_ANTIALIAS_MODE maskAntialiasMode; //反锯齿开关 D2D1_MATRIX_3X2_F maskTransform; //裁切变换矩阵 FlOAT opacity; //图层透明度 ID2D1Brush *opacityBrush; //透明度渐变刷(只有透明度起作用) D2D1_LAYER_OPTIONS layerOptions; }
ID2D1Layer *pLayer = NULL;
pRenderTarget->CreateLayer(NULL, &pLayer);
pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(300,250));
pRenderTarget->PushLayer(layerParam, pLayer); ......; //任意绘制代码,表示在图层上绘制图形 pRenderTarget->PopLayer();
pLayer->Release();
原文:https://www.cnblogs.com/halation/p/11679856.html