iOS开发.

获取对应的颜色图片

2019-05-10  本文已影响0人  侭情显現

开发过程中.经常遇到要一张图片能从一个颜色过渡到另一个颜色的场景:
如:UIViewController上下滑动时.返回按钮从白色变为黑色.

-(UIImage *)getCurrentProgressImageWithImage:(UIImage *)image startColor:(UIColor *)startColor endColor:(UIColor *)endColor progress:(CGFloat)progress{

NSArray * marginArray = [self transColorBeginColor:startColor andEndColor:endColor];

UIColor * currentColor = [self getColorWithColor:UIColor.blueColor andCoe:progress andMarginArray:marginArray];

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
CGRect rect = CGRectMake(0,0, image.size.width, image.size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClipToMask(context, rect, image.CGImage);
CGContextSetFillColorWithColor(context, [currentColor CGColor]);
CGContextFillRect(context, rect);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImage *flippedImage = [UIImage imageWithCGImage:img.CGImage scale:1.0 orientation: UIImageOrientationDownMirrored];
return flippedImage;

}

}

}

以上即可获取

上一篇 下一篇

猜你喜欢

热点阅读