2011-01-28 10 views
5

Ja tylko rozglądać się za rozpoczęciem nauki NDK, z jednym konkretnym projekcie pamiętać:Android NDK i renderowania do żywych tapety

Chcę nieustannie zmieniających renderowanie bitmapy z boku NDK, aby móc pokazać go w tapeta na żywo.

(stąd nie mówię o OpenGL do renderowania tekstur, ale o renderowania do mapy bitowej)

google trochę i okazało się, że nie ma opcji, aby bezpośrednio manipulować bitmapę pikseli. Ale odkryłem również, że dokumentacja mówi, że ta funkcja jest dostępna tylko od wersji Androida 2.2. I chciałbym wesprzeć 2.1 w mojej animowanej tapecie.

Z drugiej strony znalazłem kilka projektów, które robią podobne rzeczy - renderują coś z ndk i pokazują je na żywo tapety. I pracują nad 2.1. Przykłady: wspaniały Video Live Wallpaper, i myślę, że Shake Them All Live Wallpaper robi to samo.

Pytanie brzmi - czy brakuje mi innego sposobu wykonywania renderingu ciągłego na LW poza bezpośrednią manipulacją danymi bitmapowymi? Albo coś innego, co zrobiłem źle? :)

Odpowiedz

5

O ile mi wiadomo, inne projekty, które renderują w NDK i używają jnigraphics przed 2.2, faktycznie obejmują tę bibliotekę w projekcie i ładują ją jako trzecią bibliotekę partyjną.

Zobacz opis PREBUILT_SHARED_LIBRARY w android-ndk-r5b/docs/ANDROID-MK.html, aby uzyskać więcej informacji o tym, jak to zrobić.

można znaleźć jnigraphics w:

android-ndk-r5b/platforms/android-8/arch-arm/usr/lib/libjnigraphics.so 

Oczywiście, ja nie wiem, czy to jest rzeczywiście wolno rozprowadzać części NDK (może ktoś inny może ważyć w tej sprawie), ale najwyraźniej tylko hold-up z użyciem jnigraphics przed Androidem 2.2 jest po prostu tym, że nie jest obecny we wcześniejszych wydaniach.

Nadzieję, że pomaga.

+0

Och, dziękuję! Myślę, że to odpowiada na moje pytanie :) – dimsuz

+0

to jnigraphics napisane w Javie? W takim przypadku pisanie jej w Javie byłoby dużo bardziej sensowne. –

Powiązane problemy