java - 通过触摸检测位图中的颜色

标签 java android bitmap android-canvas android-graphview

是否可以在“Android”上使用位图检测颜色touch

屏幕将如下所示:

enter image description here

黑色箭头是用户可以上下移动的Bitmap对象。它应该检测黑色箭头何时接触蓝线,并在接触该线的每一秒添加点。

也许值得注意的是,箭头只能上下移动,蓝线是从右向左移动的。

有一个奇怪的背景,背景可能包含蓝色,因为它将是相机预览屏幕,并且箭头和蓝线移动的Canvas将是透明的。这会是一个问题吗?或者是否有更好的方法来检测碰撞?

我在这里需要的最重要的部分是检测“碰撞”或天气位图和线是否接触,但问题的第二部分是,有没有办法添加动画或其他东西向用户显示线条相互接触,可能会将箭头追逐成金色或其他东西。

这条线是用“GraphView”制作的,因此我不能真正将其视为“对象”。有关 graphview 的更多信息 - http://www.android-graphview.org/

如果需要源代码,我可以提供,但我不想立即分享。

编辑我尝试过使用像素并以这种方式检测颜色,但我还没有让它工作。

最佳答案

对于给定像素,x 和 y:

ImageView imageView = (ImageView)v;
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
int pixel = bitmap.getPixel(x,y);

int redValue = Color.red(pixel);
int blueValue = Color.blue(pixel);
int greenValue = Color.green(pixel);

引用here .

关于java - 通过触摸检测位图中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50702599/

相关文章:

Android:将样式应用于库中自定义 ListView 中的 TextView

Android通过Intent打开pdf文件

java - 使用可从资源中绘制的位图初始化位图变量不起作用 - 使用 ANDROID

java - 如何杀死处于 RUNNING 状态的 Java 线程?

java - 如何随机选择一个枚举值?

android - 当我从 SQLite 中检索 blob 值时,它会给出不同的值,因为它存储在数据库中

android - 使用 libjpegturbo 压缩一批图片时出现奇怪的结果

java - 如何在android中将图像黑白图像转换为0-1字节数组

java - 在 ArrayList 中的指定索引处设置元素

java - 使用 JavaBrains 中的代码时出现异常