在显示之前将过滤器应用于帧缓冲区

时间:2014-11-12 07:15:06

标签: android graphics surfaceflinger

我想将某种图像过滤器应用于Android设备屏幕上显示的任何内容。图像滤波器的最简单示例可以是在帧缓冲器显示在屏幕上之前应用于帧缓冲器的棕褐色滤波器。只是为了确保,我想要这个效果系统,而不仅仅是在我的应用程序中。

1 个答案:

答案 0 :(得分:0)

要在系统范围内制作效果,您需要修改SurfaceFlinger以应用滤镜。

在Android 5.0" Lollipop"您可以看到代码的原型实现,它修改输出以改善色盲人群的对比度。请参阅Daltonizer代码以及它如何与SurfaceFlinger.cpp中的doDisplayComposition()相关联。请注意,这会在曲面合成期间应用效果,从而禁用硬件编辑器。

无法通过应用程序在系统范围内执行此操作。如果有,你可能会对系统造成各种各样的破坏。