2011-01-28 5 views
5

Sto solo cercando in giro per l'avvio l'apprendimento NDK, con un particolare progetto in mente:Android NDK e rendering di Live Wallpapers

voglio rendere continuamente una bitmap che cambia da un lato NDK per essere in grado di mostrare in una carta da parati dal vivo.

(da qui non sto parlando di rendering OpenGL consistenza qui, ma di rendering di una bitmap)

Googled un po 'e ho scoperto che c'è la possibilità di manipolare direttamente una bitmap pixel. Ma ho anche scoperto che la documentazione dice che questa funzione è disponibile solo da Android 2.2. E mi piacerebbe supportare 2.1 nel mio sfondo animato.

D'altra parte ho trovato diversi progetti che fanno cose simili - rendono qualcosa da ndk e lo mostrano in live wallpaper. E funzionano su 2.1. Gli esempi sono: meraviglioso Video Live Wallpaper, e penso che lo Shake Them All Live Wallpaper faccia lo stesso genere di cose.

Quindi la domanda è: mi manca qualche altro modo per eseguire il rendering continuo in LW se non la manipolazione diretta dei dati Bitmap? O qualche altra cosa che ho sbagliato? :)

risposta

5

Per quanto ne so, gli altri progetti che eseguono il rendering con NDK e utilizzano jnigraphics precedenti alla 2.2 includono effettivamente quella libreria nel progetto e la caricano come libreria di terze parti.

Vedere la descrizione di PREBUILT_SHARED_LIBRARY in android-ndk-r5b/docs/ANDROID-MK.html per ulteriori informazioni su come farlo.

Potete trovare jnigraphics a:

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

Certo, non so se in realtà è lecito ridistribuire parte della NDK (forse qualcun altro può pesare in su questo), ma a quanto pare l'unica l'uso di jnigraphics prima di Android 2.2 è semplicemente il fatto che non è presente nelle versioni precedenti.

Spero che questo aiuti.

+0

Oh, grazie! Penso che risponda alla mia domanda :) – dimsuz

+0

è jnigraphics scritto in Java? In tal caso, avrebbe molto più senso scriverlo in Java. –