0

大きな四角形の中に 3 つの CAShapelayers があります。大きな四角形の中に四角形と三角形があり、これらすべての CAShapelayers は画像の上に描画されます。大きな四角形をパターン画像で塗りつぶす必要がありますが、他の 2 つの形状はすべて塗りつぶす必要はありません。マスキング、evenodd ルールを試しました。助けてください。現在、私は正反対のことをしています。外側ではなく内側の層を埋める これが私がやっていることです

// mask layer is the outer layer
         CAShapeLayer *maskLayer = [CAShapeLayer layer];
                            maskLayer.fillRule = kCAFillRuleEvenOdd;
                            maskLayer.frame = self.view.frame;


//inner layer1                       
     CAShapeLayer *maskSubLayer1 = [CAShapeLayer layer];
                            maskSubLayer1.fillRule = kCAFillRuleEvenOdd;
                            maskSubLayer1.frame = self.view.frame;


 //inner layer 2              
              CAShapeLayer *maskSubLayer2 = [CAShapeLayer layer];
                            maskSubLayer2.fillRule = kCAFillRuleEvenOdd;
                            maskSubLayer2.frame = self.view.frame;


 //shapelayer and shapelayer 2 are the exact layer that are drawn inside         
 // add the paths to sublayers of the mask
                            maskSubLayer1.path = shapeLayer.path;
                            maskSubLayer2.path = shapeLayer2.path;

                            [maskLayer addSublayer:maskSubLayer1];
                            [maskLayer addSublayer:maskSubLayer2];

  // masking the outer layer                 
           biggershapeLayer.mask = maskLayer;
            [biggershapeLayer setFillColor:[UIColor colorWithPatternImage:[UIImage imageNamed:[imagesArray objectAtIndex:indexPath.row]]].CGColor];
                            [self.view.layer addSublayer:biggershapeLayer];


   *******************************************
   *                                         *
   *                                         *
   *    *******             ******           *
   *    ********            ******           * 
   *     *******            ******           * 
   *      *******           ******           * 
   *                                         *
   *******************************************

This is the current result I want the exact opposite.
4

0 に答える 0