画中画及滤镜选择效果

本文实现的是画中画以及选择不同的滤镜模式改变画中画的模式。我在这里提供了十种模式,仅供参考。

效果图如下:


画中画及滤镜选择效果_第1张图片
图片发自App

首先是画中画的效果。画中画,顾名思义,就是画里面还有画,这个效果的实现其实蛮简单的。首先在控制器中添加一个背景视图,然后在此背景视图上面添加一张等大的背景图片,选取的背景图片中间有一部分是要留白的,为的是这这片留白的地方添加另一张图片。接下来就是在这个留白的地方添加一张和这个留白等大的图片,这样就可以了。然后为了实现移动效果,在这张图片上面添加移动的手势,请看代码:


画中画及滤镜选择效果_第2张图片
图片发自App


画中画及滤镜选择效果_第3张图片
图片发自App


画中画及滤镜选择效果_第4张图片
图片发自App

接下来要实现滤镜的效果,为了实现这种效果首先创建一个滚动视图,然后在此视图上面添加内容,在这里用了两个数组,第一个数组存放滤镜效果,第二个来存储滚动视图里面的子视图。具体看下图:

画中画及滤镜选择效果_第5张图片
图片发自App


画中画及滤镜选择效果_第6张图片
图片发自App

我这里添加的子视图是FilterView类的视图,在一个类中添加代理,作用是为了改变画中画的滤镜效果,代理方法如下图


画中画及滤镜选择效果_第7张图片
图片发自App

代理方法的实现如下图所示


画中画及滤镜选择效果_第8张图片
图片发自App

代理方法的实现里面封装的方法如下所示


画中画及滤镜选择效果_第9张图片
图片发自App

上面仅仅提供一种思路。

在自己看来,如果没有具体的demo那等于是耍流氓,所以具体的demo请到github下载,谢谢。下载地址:https://github.com/15221532825/-PictureInPictureAndFilter

谢谢。

你可能感兴趣的:(画中画及滤镜选择效果)