Создайте новый UIImage, добавив тень к существующему UIImage

Я взглянул на этот вопрос:UIImage Shadow Trouble

Но принятый ответ не работал для меня.

То, что я пытаюсь сделать, это взять UIImage и добавить к нему тень, а затем вернуть совершенно новый UIImage, shadow и все.

Вот что я пытаюсь:

- (UIImage*)imageWithShadow {

    CGColorSpaceRef colourSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef shadowContext = CGBitmapContextCreate(NULL, self.size.width, self.size.height + 1, CGImageGetBitsPerComponent(self.CGImage), 0, 
                                                 colourSpace, kCGImageAlphaPremultipliedLast);
    CGColorSpaceRelease(colourSpace);

    CGContextSetShadow(shadowContext, CGSizeMake(0, -1), 1);
    CGContextDrawImage(shadowContext, CGRectMake(0, 0, self.size.width, self.size.height), self.CGImage);

    CGImageRef shadowedCGImage = CGBitmapContextCreateImage(shadowContext);
    CGContextRelease(shadowContext);

    UIImage * shadowedImage = [UIImage imageWithCGImage:shadowedCGImage];
    CGImageRelease(shadowedCGImage);

    return shadowedImage;
}

В результате я получаю точно такое же изображение, как и раньше, с помощью этого метода.

Я делаю это правильно, или я что-то упускаю из виду?

Ответы на вопрос(0)

Ваш ответ на вопрос