【发布时间】:2018-07-29 22:59:17
【问题描述】:
ImageView colors;
Bitmap bitmap;
...
//onTouch:
@Override
public boolean onTouch(View v, MotionEvent ev) {
final int evX = (int) ev.getX();
final int evY = (int) ev.getY();
colors.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(colors.getDrawingCache());
colors.setDrawingCacheEnabled(false);
int touchedColor = bitmap.getPixel(evX, evY);
int red = Color.red(touchedColor);
int green = Color.green(touchedColor);
int blue = Color.blue(touchedColor);
...
}
问题出在:在三星 Galaxy S8 上,当您单击此一种颜色时,touchColor 等于 -831953。在 Moto Z2 Play 上是 -897230,在 Android Studio 上的每个模拟器上也是如此。这是当您在两部手机和每个模拟器上单击图像上完全相同的像素位置时。颜色中的位图来自 drawable-nodpi 文件夹,是 PNG。
【问题讨论】:
标签: java android colors bitmap