2016-07-25 7 views

답변

0

..

이미지 뷰에 터치를 감지하는 OntouchListener를 사용하여 ..

@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 색상 코드 ..

+0

입니다 사진 프레임 위에 x + y를 읽고 나서 이미지의 픽셀 배열 내에서 같은 위치를 읽음), 반응하는 네이티브 API를 사용하는 접근법을 찾고있었습니다. 따라서 iOS 솔루션과도 호환됩니다. 나는 어쨌든 시도 할 것이다. – jsdario

관련 문제