我试图在Android中制作一些照片滤镜,我有代码
for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get pixel color
pixel = src.getPixel(x, y);
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
do some work here
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
这非常缓慢,无法做任何事情。 还有其他办法吗?
答案 0 :(得分:0)
Android的Media Effects框架允许开发人员轻松地为照片和视频应用许多令人印象深刻的视觉效果。由于框架使用GPU来执行其所有图像处理操作,因此它只能接受OpenGL纹理作为其输入。请参阅this以了解如何使用OpenGL ES 2.0将可绘制资源转换为纹理,然后使用框架对其应用各种效果。我想它比你现在的方法更快!