创建超级马里奥马赛克混合效果

Create Super Mario Mozaic Blendig Effect

我有兴趣为采用当前视图并像素化视图并淡出的屏幕过渡创建混合效果。 蓝图来自超级任天堂/超级任天堂上的超级马里奥世界。 我附上了这个效果的 YouTube 视频。您可以在显示 "Mario Start" 之前在 0:50 处看到它。 https://www.youtube.com/watch?v=naD6mNeHIsE

我想在 Objective-C 或 Swift 的 iOS 游戏中实现这种混合效果。目前这并不重要。我对如何实现这种效果很感兴趣。 有人有提示或想法吗?

我认为这可以通过后续步骤完成:

1) 拍摄要马赛克的图片
2) Read it pixel data colors
3) 根据图块大小计算平均颜色
4) 在新图像上绘制具有平均颜色的图块 5) 显示新图像 6) 更改图块大小并从步骤 2) 开始重复

我认为这种使用 CoreGraphics 的场景会有性能问题。

另一种选择 - 使用很棒的 GPUImageGPUImageMosaicFilter。检查示例代码 - 它已实现 GPUImageMosaicFilter