Android 屏幕取色 代码实现
时间: 2023-08-06 21:14:01 浏览: 264
在 Android 中,可以通过使用 `Color` 类的 `getColor` 方法获取指定像素点的颜色值,具体步骤如下:
1. 获取屏幕的 `Bitmap` 对象:
```
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
Bitmap screenshot = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
View view = getWindow().getDecorView().getRootView();
view.draw(new Canvas(screenshot));
```
2. 获取指定位置的像素点颜色值:
```
int x = 100; // 像素点的 x 坐标
int y = 200; // 像素点的 y 坐标
int pixel = screenshot.getPixel(x, y);
int red = Color.red(pixel);
int green = Color.green(pixel);
int blue = Color.blue(pixel);
```
其中,`red`、`green`、`blue` 分别表示该像素点的红、绿、蓝三个颜色通道的值。
注意,该方法需要在 Android 5.0 及以上版本中才能使用。在低于 Android 5.0 版本的设备上,需要使用 `MediaProjection` API 来实现屏幕截图功能。
阅读全文