笔者之前发表的音视频文章,有图像的处理,音频的重采样等等,都属于入门级别。通过阅读它们,读者能对音视频有了了解。可在Gitee上面回顾。
2023 年,笔者将整理下 关于 OpenGLES 的实验室系列 并进行发表。首先为读者带来2D篇的系列,它大多是 x y 坐标,不涉及 z 坐标,所以用 2D篇。内容上,它不对 OpenGLES 的基础知识进行细说与讨论。但如果对 OpenGLES 不了解或者了解一点,仍可通过本实验室系列了解 OpenGLES。它旨在激起读者的兴趣,扩展到实际的应用上。总的来说,这些实验 & Demo 将是额外的,即对基础学习的补充,通过这些它们的实践和运用,能让读者进一步了解 OpenGLES 。
前言
本次实验室带来的是《OpenGLES 实验室之2D篇 第二弹 の 瘦脸修图》。
如果读者还记得之前其他作者发过的一篇文章《如何实现图片的扭曲效果,窗帘效果及仿真水波纹效果,修图技术之瘦身瘦脸效果的实现(android-drawBitmapMesh)》,是介绍 Android 的 drawBitmapMesh,可以快速实现图像扭曲效果的API。那时笔者看完后,想想 iOS 也可以有,基于 OpenGLES 封装出类似的 API。因此有了本次实验 & Demo。
Demo
通过手势从脸部边缘向内滑动,Demo 效果比较一般,因为网格的细粒度不够,所以拉拽影响区域大,导致变形夸张。Demo 使用的人物图片是从《Android:修图技术之瘦脸效果的实现(drawBitmapMesh) 》 里面的,如有侵权可以告知笔者删除。
Git 地址:QHDrawBitmapMeshMan: iOS:OpenGLES 实验室之2D篇 第二弹 の 瘦脸修图
实验
效果
这是瘦脸修图前后效果(不得不说修图真的是个技术活😂):
修图前 |
修图后 |
结构图
native 层进行 mash 的变换计算&