文件名称:MFSpringView:基于OpenGL ES实现长腿功能
文件大小:537KB
文件格式:ZIP
更新时间:2024-04-07 11:41:10
Objective-C
MFSpringView 基于OpenGL ES实现图片局部拉伸功能的控件,可以实现长腿功能。 效果展示 原理 将图片分割为6个三角形,如下图所示,然后对中间矩形(V2〜V5)进行拉伸或压缩处理。 渲染到纹理 当单次图片编辑结束之后,需要重新生成纹理,即重新获得当前屏幕呈现的结果。 出于对结果分辨率的考虑,我们不会直接重新获得内部屏幕渲染结果对应的帧缓存,而是采用“渲染到纹理”的方式,重新生成一个与原图一致的纹理。 为什么使用OpenGL ES 实现图片局部拉伸功能的逻辑并不复杂,理论上也可以通过CoreGraphics的绘图功能来实现。 但是由于CoreGraphics的绘图功能依赖于CPU,不断地重绘图像会引起卡顿。 因此,从性能的角度考虑,使用OpenGL ES更佳。 更多介绍
【文件预览】:
MFSpringView-master
----image()
--------image.gif(369KB)
--------image1.jpg(98KB)
----MFSpringViewDemo.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(16KB)
----.gitignore(1KB)
----README.md(1KB)
----MFSpringView()
--------MFVertexAttribArrayBuffer.m(2KB)
--------MFSpringView.h(2KB)
--------MFVertexAttribArrayBuffer.h(927B)
--------MFShaderHelper.h(582B)
--------spring.vsh(182B)
--------MFShaderHelper.m(3KB)
--------MFSpringView.m(17KB)
--------spring.fsh(208B)
----MFSpringViewDemo()
--------Assets.xcassets()
--------main.m(344B)
--------AppDelegate.h(287B)
--------AppDelegate.m(2KB)
--------Base.lproj()
--------girl.jpg(122KB)
--------ViewController.h(225B)
--------Info.plist(2KB)
--------ViewController.m(6KB)