0
CoreAction으로 마스크를 렌더링 할 수 없기 때문에 마스크를 사용하여 이미지를 성공적으로 저장하기위한 해결 방법이 조금 있습니다.CGContext에 레이어하는 방법
CGContextRef context = CGBitmapContextCreate(nil, cWidth, cHeight, bitsPerComponent, bytesPerRow, CGColorSpaceCreateDeviceRGB(), CGImageGetBitmapInfo(image));
//the mask:
CGContextClipToMask(context, CGRectMake(0,0,1280,935), self.image.image.CGImage);
//the image to mask:
CGContextDrawImage(context, CGRectMake(0, 0, 1280,935), viewImage.CGImage);
CGImageRef mergeResult = CGBitmapContextCreateImage(context);
saver = [[UIImage alloc] initWithCGImage:mergeResult];
그래서이 꽤 잘 작동, 마스크가 대상 이미지의 모양 이외의 모든 것을 잘라 :
여기 내 코드입니다. 주변 지역과 흰색을 흰색으로 만듭니다. 흰색을 보여주기보다는 이미지/색상/패턴 등을 보여주고 싶습니다. 그래서 기본적으로 다른 이미지를 쌓고 싶습니다.
어떻게이 작업을 수행 할 수 있습니까? 감사합니다.
안녕하세요, 저는 실제로 이것을 시도했지만 아무 소용이 없습니다. 첫 번째 CGContextDrawImage가 전체를 대신 차지하는 것으로 나타납니다. – user339946
사실, 긁어. 이것은 내 실수입니다. 착시가 내 마스크가 나타나지 않는다고 생각하면서 속이고있었습니다. 고맙습니다 – user339946