iPhone 中的 Mask 效果替代方法
2010-02-28 22:25:00 来源:WEB开发网核心提示:最近一个iphone的项目中做到了一个效果,就是在场景中加入前后两个UIImageView,iPhone 中的 Mask 效果替代方法,分别装载两张PNG图片,用手轻轻擦拭前面的 UIImageView图层,如果算不对可能就会看到瑕疵,比如说手指在屏幕上反复做擦拭效果,就像擦玻璃一样即可透过该层看到后面的图片,这个效果
最近一个iphone的项目中做到了一个效果,就是在场景中加入前后两个UIImageView,分别装载两张PNG图片,用手轻轻擦拭前面的 UIImageView图层,就像擦玻璃一样即可透过该层看到后面的图片。这个效果多用在类似汽车雨刮刮蒸汽,又或者洗澡间玻璃上的雾气效果。
原理上很实现它很简单:
首先先加载前后两层,让雾气层在前,并在雾气层的类中常规的写入比如touchesBegan等方法使其可以拖动。再touchesMoved中分别在拖动起始点和终止点处以点为中心绘制一个圆,两个点之间绘制一个矩形,即矩形的长是两点之间的距离,宽是圆的直径。如果正常绘出后的效果就是你应该能看到一个两边圆滑的矩形效果。然后用CGContextClip的剪切方法将绘图部分抠除即可。
这个效果可能有点麻烦的是你需要在绘制时做矩形和圆的平移和旋转,使其和你的手指拖动时的接触起点、平移距离、平移方向、结束点的位置吻合。如果算不对可能就会看到瑕疵,比如说手指在屏幕上反复做擦拭效果,那么每两次touchesMove绘的图衔接不平滑等等。
- ››iphone图片拉伸的几种方法
- ››iphone正则表达式的简单使用
- ››iPhone开发Unresolved Symbols CAKeyframeAnimati...
- ››IPhone开发-“此证书是由未知颁发机构签名”解决方...
- ››IPhone开发-整合私钥和证书,生成.p12文件
- ››iPhone应用开发-UIPickerView选取器详解
- ››iphone 获取屏幕的宽度和高度
- ››iPhone读取工程包中的二进制文件
- ››iPhone新手机 不挂YouTube APP
- ››iPhone 获取指定格式的时间和日期
- ››iPhone版PPS走进生活 观赏体验媲美PC版
- ››iPhone两种不同的应用程序:两种方法的哲学思想
赞助商链接