2

重複の可能性:
CGMutablePath内にUIImageを描画する

drawRectに次のようなパスがあります。

CGContextSetLineWidth(context, 1.5);
CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor);    
CGContextAddEllipseInRect(context, rect);
CGContextStrokePath(context);

CGContextClip(context);
CGContextTranslateCTM(context, 0.0, rect.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextDrawImage(context, rect, self.image_.CGImage);

UIGraphicsBeginImageContext(rect.size);
UIImage * circleUserProfile = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[circleUserProfile drawAtPoint:CGPointMake(0, 0)];

CGContextRestoreGState(context);

UIImageがあり、UIImageがこの円の内側にクリップされるようにします。上記のコードは、私がここで前に尋ねたことを実行しているように見えましたが、それでも機能しません。どうしてこれなの?

4

1 に答える 1

1

を呼び出すとUIGraphicsBeginImageContext、新しいコンテキストが作成され、前のコンテキスト(すべての描画を行ったもの)がプッシュされ、新しい(空の)コンテキストが現在のコンテキストになります。UIGraphicsGetCurrentContext描画を呼び出して実行する前に、画像コンテキストを開始する必要があります。

于 2013-01-16T21:44:21.590 に答える