由于之前要做一个动画,想了一个办法实现效果,总结出了一个图片的用法--[就是改变图片的透明度]。
代码在👇
这里写了一个方法传入需要的透明度和图片
- (UIImage *)imageByApplyingAlpha:(CGFloat)alpha image:(UIImage*)image
{
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.0f);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGRect area = CGRectMake(0, 0, image.size.width, image.size.height);
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -area.size.height);
CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
CGContextSetAlpha(ctx, alpha);
CGContextDrawImage(ctx, area, image.CGImage);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
调用
调用这个方法返回一个image 可以封装为一个方法使用
UIImage *image1 = [self imageByApplyingAlpha:0.1 image:[UIImage imageNamed:@"top_horn"]];