Нарисуйте контур на замаскированном изображении - PullRequest
0 голосов
/ 21 июня 2020

Я применил цвет заливки к изображению, используя замаскированное изображение, которое работает нормально. Но я не могу применить цвет обводки (т.е. границу) к замаскированному изображению. Он рисует обводку в прямоугольнике вместо границы замаскированного изображения. Вот код ниже: -

- (UIImage *)imageMaskedWithColor:(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);
    
        CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 0.3);
        CGContextStrokeRectWithWidth(context, imageRect, 2.0);
    
        newImage = UIGraphicsGetImageFromCurrentImageContext();
    }
    UIGraphicsEndImageContext();

    return newImage;
}

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...