2010-08-17 14 views
19

Aşağıdaki çağrısı kullanarak bir zemine bir bit eşlem çizmek:Android'de bir bitmap nasıl tonluyorsunuz?

_playerImage = BitmapFactory.decodeResource(getResources(), R.drawable.player); 

nasıl şimdi beyaz bu resim de rengini olabilir? Bir mermi bir düşman tarafından vurulduğunda, en çok okunan oyunlarda görüntüyü beyaza yaklaştırmaya çalışıyorum.

BitmapFactory'den başka bir şey mi kullanmalıyım?

cevap

46

Bitmap'i çizdiğinizde, PaintColorFilter kullanabilirsiniz.

+8

Parlak! Teşekkürler bir ton! "Boya p = Yeni boya (Color.RED); \t \t ColorFilter filtre = Yeni LightingColorFilter (Color.RED, 1); \t \t p.setColorFilter (filtre);" – FoppyOmega

+1

Merhaba Romain, her beraberlik çağrısı için yeni bir ColorFilter örneği oluşturmayı içermeyen renkli bir bitmap çizme yöntemi var mı? Farklı renklerde renklendirmek istediğiniz birkaç 100 sprite sahip olduğunuzu söyleyelim. Bu, her drawBitmap çağrısı için yeni bir lightingColorFilter gerektirecektir. Bu gerçekten tüm proje tereyağı felsefesi ile güzelce gitmiyor "render çağrınızı tahsis etmeyin". Özellikle, renklendirme, herhangi bir nesnenin tahsis edilmesini gerektirmeyen karışım/modüle opengl arka ucuna doğrudan bir korelasyona sahip olduğu için. drawBitmap (..., int mul, int add) çağrısı nedir? –

+2

@ P.Melch İyi bir soru (ve bu gerçekten eski, ama ben bunu buraya koyuyor çünkü ilgili ve başkaları yararlı bulabilir) ... eğer nispeten küçük bir renk kümeniz varsa, birkaç örneği tutabilirsiniz (LightingColorFilter rengini değiştirmeyi desteklemiyor gibi görünse de ColorFilter nesnelerini kullanması muhtemeldir. Eğer daha iyi bir fikri olan varsa, bu kesinlikle yardımcı olur. – kungphu

İlgili konular