2017-09-13 133 views
0

我有一個.png圖像,用於加載到我的應用程序中。它是一種以特定顏色着色的形狀,因此每個像素都具有完全相同的RGB值。唯一的區別是alpha值,它在形狀的邊緣減少。Android在更改圖像時更改了像素的顏色

我的問題是,如果我用BitmapFactory.decodeResource()加載圖像,邊緣上的像素會得到另一個RGB值。這不是一個大的改變,它只是 - + 4紅/綠/藍值,但對我來說這是一個很大的改變,因爲像素必須是這個確切的顏色。

我想掩蓋它們並用另一種顏色替換它們。這個特定的顏色是我的指標,所以我找到了我想要改變的像素。如果我改變顏色的邊緣仍然有不同的顏色,這很煩人。

有沒有方法來加載Drawables而不改變它們?

回答

0

你應該嘗試使用這個變體:

decodeResource(Resources res, int id, BitmapFactory.Options opts) 

與配置OPTS。其PARAMS inPreferredColorSpaceoutColorSpaceinPreferredConfigoutConfig

+0

對不起玩,但是這並不能改變什麼。無論如何inPreferredColorSpace都有一個太高的API。 –