几天后,我一直在努力研究如何在过滤器工作的图像之间轻扫。有一篇帖子有完全相同的问题:Swipe between filtered images
基本上我需要在过滤后的图像之间滑动,就像在Snapchat中一样,过滤器会逐渐叠加,因为滑动会像这样:https://www.youtube.com/watch?v=j75d7Khf6iM
但答案没有给出示例代码,我的努力也无济于事。
我尝试了以下内容:
1)我首先尝试创建2张图像。第二个是过滤的图像,第一个是原始图像。我想为图像2应用100%的alpha蒙版,为图像1应用0%。当用户滑动时,我会减少图像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数据。如果您可以提供帮助,或者有任何建议如何设计此代码,我将非常感激!
谢谢!