Android,检查像素的alpha?

bea*_*ans 2 android

我在触摸x和y下得到了我的位图的颜色:

int myX = (int)event.getX();
int myY = (int)event.getY();
int color = pngTestBM.getPixel(myX,myY);
Run Code Online (Sandbox Code Playgroud)

如何检查像素是否透明?

Jen*_*ens 7

color是一个32位的ARGB值,完全不透明的像素的Alpha值为0xff,而完全透明的像素的alpha值为0x00.

假设您只是想知道它是否完全透明,您可以这样做:

int color = pngTestBM.getPixel(myX, myY);
boolean transparent = (color & 0xff000000) == 0x0;
Run Code Online (Sandbox Code Playgroud)


Nik*_*zov 6

Color类的alpha方法怎么样?

int transparency = Color.alpha(color);
Run Code Online (Sandbox Code Playgroud)


Pet*_*ton 5

这个给你:

int alpha = Color.alpha(pixel);
Run Code Online (Sandbox Code Playgroud)