0

几天来,我一直在努力研究如何使用过滤器在图像之间滑动。有一个帖子有我完全相同的问题:在过滤后的图像之间滑动

基本上我需要在过滤后的图像之间滑动,就像在 snapchat 中发生的那样,随着滑动的发生,过滤器逐渐覆盖,如下所示:https ://www.youtube.com/watch?v=j75d7Khf6iM

但是答案没有给出示例代码,我的努力无济于事。

我尝试了以下方法:

1)我首先尝试创建 2 个图像。第二个是过滤后的图像,第一个是原始图像。我想为图像 2 应用 100% 的 alpha 蒙版,为图像 1 应用 0% 的 alpha 蒙版。当用户滑动时,我会减少图像 2 上的 alpha 蒙版并增加图像 1 的图像蒙版。但是当我尝试遵循所有我遇到的示例代码遇到了问题。我的 CGImage 始终为零(因为我的原始图像不是用 CGImage 数据创建的,而且我不确定如何获取 CGImage 数据)

    CGRect rect = CGRectMake(0, 0, 500, 500); 
    CGImageRef imageRef = CGImageCreateWithImageInRect(_picture.image.CGImage, rect);
    UIImage*result = [UIImage imageWithCGImage:imageRef];
    _picture.image = result; CGImageRelease(imageRef);
    //does not work, CGImage is null

2)我打算裁剪图像,不管蒙版如何,但每次我这样做时,大小和比例都与我尝试编码的不匹配。

如果您能提供比给出的答案(上面提到的)更多的解决方案,我将不胜感激。我在不使用另一个 UIimage 的情况下创建 alpha 蒙版时遇到问题(我只想创建一个矩形作为不在图像上绘制的区域),并且我不确定如何获取 CGImage 数据。如果您能对此提供帮助或对如何设计此代码有任何建议,我将不胜感激!

谢谢!

4

0 回答 0