imageview
ユーザーが触れたピクセルの位置を取得する必要があります。
にOnTouchメソッドを追加しましたimageviewer
が、送信されるピクセルは、私のピクセルの位置ではなく、imageviewer
ビュー全体のピクセルの位置だと思います。私が得る色は私が触れるピクセルの色と同じではないので
miViewer.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
// do something here when the element is clicked
Bitmap miBitmap = ((BitmapDrawable)miViewer.getDrawable()).getBitmap();
int[] viewCoords = new int[2];
miViewer.getLocationOnScreen(viewCoords);
int touchX=(int)event.getX();
int touchY=(int)event.getY();
int imageX = touchX - viewCoords[0]; // viewCoords[0] is the X coordinate
int imageY = touchY - viewCoords[1]; // viewCoords[1] is the y coordinate
//el ontouch da coordenada globales
Log.e("PixelsView", String.valueOf(imageX) +" " +String.valueOf(imageY));
Log.e("Screenpx", String.valueOf(touchX) +" " +String.valueOf(touchY));
int pixelInt=miBitmap.getPixel(imageX,imageY);
MyColorClass myColorClass=new MyColorClass();
colorViewer.setBackgroundColor(myColorClass.CalculateSimilarColor(pixelInt));
}
return true;
}
});