1
이미지를 전달하고 내가 제공 한 채워진 색상으로 이미지화 된 마스크를 얻는 UIImage의 카테고리를 하나 만들고 있습니다. 이제 단일 색 대신 그라디언트를 추가하고 싶습니다. 아래는 어떻게 하나의 색으로 마스크 된 이미지를 생성하는 방법입니다. 단색 대신 그라디언트를 추가하려면 어떻게합니까?코어 그래픽을 사용하여 그래디언트 채우기 색상의 UIImage 가져 오기
- (UIImage *)imageMaskedWithGradientColor:(UIColor *)maskColor
{
NSParameterAssert(maskColor != nil);
CGRect imageRect = CGRectMake(0.0f, 0.0f, self.size.width, self.size.height);
UIImage *newImage = nil;
UIGraphicsBeginImageContextWithOptions(imageRect.size, NO, self.scale);
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM(context, 1.0f, -1.0f);
CGContextTranslateCTM(context, 0.0f, -(imageRect.size.height));
CGContextClipToMask(context, imageRect, self.CGImage);
CGContextSetFillColorWithColor(context, maskColor.CGColor);
CGContextFillRect(context, imageRect);
newImage = UIGraphicsGetImageFromCurrentImageContext();
}
UIGraphicsEndImageContext();
return newImage;
}
나는 프로그래밍 방식으로 마스크 이미지를 생성 중입니다. 당신의 해결책은 효과가 없을 것입니다. –
귀하의 imageView는 프로그래밍 방식을 의미합니까? – Govaadiyo
제 말은 프로그래밍 방식으로 이미지를 그릴 것입니다. 특정 디자인 및 그것에 그라디언트로 마스크를 적용하십시오. –