【发布时间】:2015-03-19 12:13:59
【问题描述】:
我有两个图像视图。我如何合并此图像,使其看起来像单个图像。我尝试了很多方法,比如在第一张图片的结尾和第二张图片的开头创建模糊和渐变,即使没有得到像下图这样的理想结果。
这是正常的图像。
合并后的这个。
如何达到这个结果?请帮我。 提前致谢。
【问题讨论】:
-
两个图像的边缘都必须是模糊的。图像应该重叠。其中一张图像应在重叠区域具有 alpha 渐变。
我有两个图像视图。我如何合并此图像,使其看起来像单个图像。我尝试了很多方法,比如在第一张图片的结尾和第二张图片的开头创建模糊和渐变,即使没有得到像下图这样的理想结果。
这是正常的图像。
合并后的这个。
如何达到这个结果?请帮我。 提前致谢。
【问题讨论】:
我得到了答案。使用下面的代码并将渐变蒙版添加到两个图像的边框。您可以将第二个图像视图框架的一些像素向上移动到第一个图像,这样第一个图像视图边框和第二个图像视图边框将完全合并。
-(void)addGradientTo:(UIImageView*)imageView {
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = imageView.bounds;
gradient.colors = [NSArray arrayWithObjects:
(id)[[UIColor colorWithWhite:0 alpha:0.2] CGColor],
(id)[[UIColor colorWithWhite:0 alpha:1] CGColor],
(id)[[UIColor colorWithWhite:0 alpha:1] CGColor],
(id)[[UIColor colorWithWhite:0 alpha:0.2] CGColor], nil];
gradient.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0],
[NSNumber numberWithFloat:.1],
[NSNumber numberWithFloat:.9],
[NSNumber numberWithFloat:1], nil];
gradient.startPoint = CGPointMake(0,0.3);
gradient.endPoint=CGPointMake(1,0.3);
[imageView.layer setMask:gradient];
}
【讨论】: