如何在React Native中从屏幕上的像素中获取颜色
How can I get the color from a pixel on the screen in React Native?
我想渲染一张照片,并允许用户通过触摸来选择颜色。然而,我无论如何都找不到在触摸事件下检索绘制的像素。
有什么帮助吗?
请参阅此示例。。
使用OntouchListener检测您在imageView上的触摸。。
@Override
public boolean onTouch(View view, MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
float[] eventXY = new float[]{eventX, eventY};
int x = Integer.valueOf((int) eventXY[0]);
int y = Integer.valueOf((int) eventXY[1]);
Drawable imgDrawable = ((ImageView) view).getDrawable();
Bitmap bitmap = ((BitmapDrawable) imgDrawable).getBitmap();
//Limit x, y range within bitmap
if (x < 0) {
x = 0;
} else if (x > bitmap.getWidth() - 1) {
x = bitmap.getWidth() - 1;
}
if (y < 0) {
y = 0;
} else if (y > bitmap.getHeight() - 1) {
y = bitmap.getHeight() - 1;
}
int touchedRGB = bitmap.getPixel(x, y);
int r = Color.red(touchedRGB);
int b = Color.blue(touchedRGB);
int g = Color.green(touchedRGB);
String rr = Integer.toString(r);
String bb = Integer.toString(g);
String gg = Integer.toString(b);
String xyz = (rr+bb+gg);
colorRGB.setText("touched color: " + "#" + xyz);
这里xyz是你的rgb颜色代码。。
相关文章:
- 获取图像的平均外部像素颜色
- 画布-在多个画布叠加中获取像素颜色
- Circle-Canvas获取lineWidth的像素颜色
- 如果滚动 300 像素,请更改背景颜色
- 如何使用WebGL设置画布上像素的颜色
- Javascript - 如何使用基于站点像素颜色的画布创建图像
- 在 JavaScript 画布中获取图像的颜色像素
- 从画布获取像素颜色
- 获取图像的第一个像素颜色(JS/jQuery)
- 如何根据某些功能为 svg 中的每个像素分配颜色
- HTML5画布-在屏幕上显示像素颜色阵列的最快方式
- 从图像中获取像素颜色
- 通过Three.js中的getImageData像素颜色数据循环生成多个立方体
- 从IMG获取像素颜色总是0 0 0 0
- 不同的像素颜色值相同
- 使用Javascript查找网页上特定坐标的像素颜色
- javascript getImageData未从png图像返回正确的像素颜色
- 在javascript中获取像素颜色
- 手动在JS画布上分配像素颜色
- 当检测画布上的像素颜色时,DOM异常18