Ich versuche, einem Bild einen kleinen Schatten hinzuzufügen, ähnlich wie die Symbolschatten im App Store. Im Moment verwende ich den folgenden Code, um die Ecken meiner Bilder zu runden. Weiß jemand, wie ich es anpassen kann, um einen kleinen Schatten hinzuzufügen?UIImage Shadow Trouble
- (UIImage *)roundCornersOfImage:(UIImage *)source height:(int)height width:(int)width {
int w = width;
int h = height;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef imageContext = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextBeginPath(imageContext);
CGRect rect = CGRectMake(0, 0, w, h);
addRoundedRectToPath(imageContext, rect, 10, 10);
CGContextClosePath(imageContext);
CGContextClip(imageContext);
CGContextDrawImage(imageContext, CGRectMake(0, 0, w, h), source.CGImage);
CGImageRef imageMasked = CGBitmapContextCreateImage(imageContext);
CGContextRelease(imageContext);
CGColorSpaceRelease(colorSpace);
return [UIImage imageWithCGImage:imageMasked];
}
"addRoundedRectToPath" bezieht sich auf eine andere Methode, die offensichtlich die Ecken rundet.
Argument 2 von CGContextSetShadowWithColor ist CGSize. Daher sollte CGContextSetShadowWithColor (imageContext, CGSizeMake (3,3), 2, shadowColor); – samvermette
Fest, danke Sam. –