컨텍스트에 그려지고 CGImageRef로 변환되는 경로가 주어지면 컨텍스트 (제공된 전경 이미지가 있음)를 클립핑하면 어떻게됩니까? 그 컨텍스트는 CGImage (이전에 경로였습니다)에 의해 가려졌습니다?경로로 마스킹되도록 현재 컨텍스트 클리핑
완전히 명확하지 않은 경우 아래 질문의 코드가 내 요점을 잘 설명해야합니다. 이 모든 것은 UIView의 drawRect : 메서드에서 호출되며 scaledImageRectangle (UIImage * image, CGRect rect) 함수는 단지 사각형을 반환합니다. 예를 들어
// Close the path
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
// Mask the image
CGImageRef mask = CGBitmapContextCreateImage(context);
[foregroundImage drawInRect:scaledImageRectangle(foregroundImage, rect)];
CGContextClipToMask(context, scaledImageRectangle(foregroundImage, rect), mask);
// Finally draw the masked image
UIImage *maskedImage = [UIImage imageWithCGImage:CGBitmapContextCreateImage(context)];
[maskedImage drawInRect:scaledImageRectangle(foregroundImage, rect)];
가 여기에 경로 여기
그리고를 나타내는 검은 선이있는 이미지 것은 이미지가 마스크 때처럼 보일 것입니다 무엇을 내가 만들 의향이 될 수
조치를 취하고 달성하려는 최종 결과에 대해 설명하십시오. 네가하는 방식이 이상해. 일반적으로 패스에 클립하려면'CGContextClip (path)'또는'- [UIBezierPath addClip :]'만 호출하면됩니다. 패스를 이미지로 변환 할 필요는 없습니다. –
또한'context'는'UIGraphicsGetCurrentContext()'의 현재 컨텍스트입니까, 아니면 여러분이 만든 별도의 컨텍스트입니까? –
고마워, 지금 그걸 들여다보고있다. 그것은 이미지를 마스킹하는 것과 같은 일을 수행 할 것인가? – thebradbain