2013-01-04 2 views
0

나는 화면에 설정 한 값에 따라 점차적으로 색을 바꿀 필요가있는 몇 가지 비트 맵을 가지고있다. LightingColorFilter, PorterDuffColorFilter 및 ColorMatrix에 대해 살펴 보았지만 문제는 색상이 끊임없이 변하는 것입니다 (수십 초 및 여러 객체). 위의 2 문제는 메모리 누수와 성능 문제를 일으키는 것입니다.비트 맵의 ​​색상이 점차 변경됩니까?

새로운 비트 맵을 만들거나 임시로 캔버스를 저장하지 않고 점차적으로 비트 맵의 ​​색상을 변경하는 방법을 제안 할 수 있습니까? 성능 저하 요인도 있습니다. 둘러 보았는데 OpenGL이 없다면 불가능 해 보였습니다.

답변

0

내 생각 엔 Android 3.0 (Honeycomb) 이상으로 자신을 제한하려는 경우 OpenGL 또는 Renderscript로만 원하는 속도로 원하는 효과를 얻을 수 있습니다. 보는

한 프로젝트는 GPUImage

https://github.com/cyberagent-jp/android-gpuimage

의 안드로이드 포트입니다 그리고 당신은 미리 작성된 필터를 재사용 할 수 있는지 확인합니다.

0

색상 색인을 사용하여 제한된 수의 색상 (예 : 256)의 이미지를 사용하고 색인의 색상을 수정할 수 있습니다. 그만큼 빠릅니다.

이것은 pallette animation입니다. 이 예제에서는 애니메이션 자체에 Thread.sleeps를 사용하지만 올바른 애니메이션 및 진행 논리로 바꿀 수 있습니다.

관련 문제