首页 > 代码库 > 使图片与背景融为一体
使图片与背景融为一体
使图片与背景融为一体
原始图片 + 显示时的图片
例子1
例子2
例子3
作为mask用的图:
原理:
1. 一个mask用来只显示图片边缘
2. 取图片平均颜色并给这个mask赋值
3. 将背景色设置成平均色
4. 将要显示的图片放置在mask的下面
// 获取显示图片 UIImage *showImage = [UIImage imageNamed:@"6"]; // 获取遮罩图片 UIImage *maskImage = [UIImage imageNamed:@"mask"]; // 显示的图片 UIImageView *imageView = [[UIImageView alloc] initWithFrame:(CGRect){CGPointZero, showImage.size}]; imageView.image = showImage; imageView.center = self.view.center; [self.view addSubview:imageView]; // 带透明像素PNG图片 UIImage *png = [maskImage blurImageWithRadius:20]; // 将透明像素PNG图片转换为遮罩用mask CALayer *maskLayer = [CALayer layer]; maskLayer.contents = (__bridge id)(png.CGImage); maskLayer.frame = (CGRect){CGPointZero, showImage.size}; // 使用遮罩mask CALayer *showLayer = [CALayer layer]; showLayer.frame = (CGRect){CGPointZero, showImage.size}; showLayer.mask = maskLayer; showLayer.backgroundColor = [showImage averageColor].CGColor; // 取图片平均颜色 showLayer.position = self.view.center; // 设置背景色 self.view.backgroundColor = [showImage averageColor]; // 取图片平均颜色 [self.view.layer addSublayer:showLayer];
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。