2014-03-03 80 views

回答

1

是的,你可以,这是我使用获取任何视图中特定像素的RGB值的代码。

view.setDrawingCacheEnabled(true); 
view.buildDrawingCache(); 
Bitmap bitmap = view.getDrawingCache(); 

int pixel = bitmap.getPixel(x,y); 

int red = Color.red(pixel); 
int green = Color.green(pixel); 
int blue = Color.blue(pixel); 

view.setDrawingCacheEnabled(false); 

返回的整型值是你的标准0 - 255您可以修改这个代码,并从任何地方得到一种颜色,为您提供可以把它变成一个位图。你也可以使用Color API得到一个实际的RGB值是这样的:

int rgb = Color.rgb(red, blue, green); 
+2

关注,这会给你只是你的看法的像素 - 而不是屏幕 – JacksOnF1re

+1

是的,在我回答的第一句指出。 –

+1

是的,但“任何”视图也可能表示第三方视图 - 这是没有根源的不可缺少的。我相信你知道这一点,但由于OP要求*屏幕*而不是查看,我发现它是有用的添加。 – JacksOnF1re

相关问题