首页 文章

创建ColorFilter的自定义子类?

提问于
浏览
6

好的,所以这与我之前关于ColorMatrixColorFilter的问题有些相关,但我觉得这是一个截然不同的问题 . 我想知道是否有办法 - 或者更确切地说,如何扩展ColorFilter类来创建我自己的自定义颜色过滤器 . 对于我需要完成的任务,我需要编写一个自定义过滤器,它将查询每个像素,将其RGB值转换为HSL或LAB,修改色调,将其转换回RGB,并将该像素设置为新值 .

我想我可以简单地编写一个执行此操作的类,接受Drawable和一定量的色调移位来执行,但是必须手动调用每个Drawable,以及每个Drawable的每个状态,而ColorFilter似乎处理得很好 . 鉴于LightingColorFilter和ColorMatrixColorFilter的存在,它似乎可以被子类化,但到目前为止,我找到任何类型的文档的努力都是徒劳的 . 我似乎找不到三个中的任何一个的源代码(Lighting,ColorMatrix,ColorFilter);我在想他们可能是用原生代码完成的?

我的问题是:我如何正确地继承ColorFilter?如果我找不到一个好的答案,如果有人能够找到源(我已经搜索过Android的git)并发布了一个链接,那也会有所帮助 .

谢谢!

1 回答

  • 0

    正如您所说,source code显示ColorFilter使用本机代码,因此您无法真正将其子类化 .

    除了为你想做的事创建自己的课程之外别无他法 .

相关问题