我正在尝试将图像过滤器应用于 Android 中的位图。我所有的滤镜都存储在 Photoshop 曲线 (.crv) 文件中,但这并不重要。
根据https://raw.github.com/WeemoApps/filteriser/master/iOS/filteriser/filteriser/UIImage+Filterise.m(Objective-C 代码),可以使用拉格朗日多项式因子对我的图像“按像素”进行着色:
newRValue = -0.000093*data[index]*data[index]*data[index]+0.031603*data[index]*data[index]-0.992382*data[index];
newGValue = -0.000058*data[index+1]*data[index]*data[index+1]+0.021061*data[index+1]*data[index+1]-0.620401*data[index+1];
newBValue = 0.000013*data[index+2]*data[index+2]*data[index+2]-0.004366*data[index+2]*data[index+2]+1.275243*data[index+2];
在 Java 上的 Android 中做同样的事情并不难,但它太慢了。我正在寻找快速的东西(也许ColorMatrix
像下面的代码一样工作)。
感谢帮助。