내 화면에 이미지보기가 있습니다. 이미지는 회색 음영으로 구성됩니다. 그림을 클릭하면 내가 클릭 한 곳의 RGB 코드를 얻고 싶습니다. 안드로이드에서 가능합니까?클릭하면 나는 어디에서 색상을 얻을 수 있습니까?
0
A
답변
3
당신의 onTouch 호출이을 시도하는 데 도움이
public boolean onTouch (View v, MotionEvent ev)
{
final int action = ev.getAction();
final int evX = (int) ev.getX();
final int evY = (int) ev.getY();
switch (action) {
case MotionEvent.ACTION_DOWN :
break;
case MotionEvent.ACTION_UP :
ImageView img = (ImageView) findViewById (YOUR_IMG_DRAWABLE);
img.setDrawingCacheEnabled(true);
Bitmap imgbmp = Bitmap.createBitmap(img.getDrawingCache());
img.setDrawingCacheEnabled(false);
int pxl = imgbmp.getPixel(evX, evY);
int redComponent = Color.red(pxl);
int greenComponent = Color.green(pxl);
int blueComponent = Color.blue(pxl);
...USE COLOR HERE...
break;
}
}
희망을!
1
다음은 참조 용으로 사용할 수 있습니다. 터치 리스너에서 이미지 뷰를 무시하고 이미지 뷰의 픽셀 및 RGB 값을 얻을 수 있습니다.
public class MainActivity extends Activity {
ImageView iv;
int redValue,blueValue,greenValue;
int pixel;
Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv= (ImageView) findViewById(R.id.imageView1);
BitmapDrawable bitmapDrawable = (BitmapDrawable)iv.getDrawable();
bitmap = bitmapDrawable.getBitmap();
iv.setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// int color = bitmap.getPixel(event.getX(),event.getY());
break;
case MotionEvent.ACTION_UP:
pixel = bitmap.getPixel((int)event.getX(),(int)event.getY());
redValue = Color.red(pixel);
blueValue = Color.blue(pixel);
greenValue = Color.green(pixel);
System.out.println("...."+redValue+"..blue"+blueValue+"..."+greenValue+"color"+pixel);
Toast.makeText(MainActivity.this,""+pixel, 1000).show();
break;
}
return true;
}
});
}
}
관련 문제
- 1. Android SDK 어디에서 이미지를 클릭하면 얻을 수 있습니까?
- 2. 어디에서 wlWriterEditableSmartContent를 얻을 수 있습니까?
- 3. 어디에서 jartoprc.exe를 얻을 수 있습니까?
- 4. 어디에서 FlexAntTasks.jar를 얻을 수 있습니까
- 5. 어디에서 Mono.Cecil.Pdb.dll을 얻을 수 있습니까?
- 6. 어디에서 OpenCV를 얻을 수 있습니까?
- 7. 어디에서 client_id를 얻을 수 있습니까?
- 8. 어디에서 SAPI를 얻을 수 있습니까?
- 9. 어디에서 BigClip을 얻을 수 있습니까?
- 10. 어디에서 comdef.h를 얻을 수 있습니까?
- 11. 어디에서 glibc를 얻을 수 있습니까?
- 12. 어디에서 FoxPro를 얻을 수 있습니까?
- 13. 어디에서 jquery 이미지 스프라이트를 얻을 수 있습니까?
- 14. Verilog 코딩은 어디에서 얻을 수 있습니까?
- 15. 어디에서 remap_pfn_range에 대해 vm_area_struct를 얻을 수 있습니까?
- 16. RedHat의 최신 RPM은 어디에서 얻을 수 있습니까?
- 17. 어디에서 arpa/inet.h를 얻을 수 있습니까?
- 18. EditText의 기본 힌트 색상을 얻을 수 있습니까?
- 19. 어디에서 libgcc_s_dw2-1.dll을 얻을 수 있습니까?
- 20. 어디에서 OpenGL 복합 객체를 얻을 수 있습니까?
- 21. 누락 된 리소스는 어디에서 얻을 수 있습니까?
- 22. 어디에서 문서 서명 인증서를 얻을 수 있습니까?
- 23. SD.LLBLGen.Pro.DQE dll이 없습니다. 어디에서 얻을 수 있습니까?
- 24. 어디에서 시간대 정보를 얻을 수 있습니까?
- 25. 도대체 어디에서`tzfile.h`을 얻을 수 있습니까?
- 26. 어디에서 GCC 바이너리를 얻을 수 있습니까?
- 27. ProGuard for Eclipse는 어디에서 얻을 수 있습니까?
- 28. 어디에서 ASP.NET MVC 디자인을 얻을 수 있습니까?
- 29. RedHat Linux에서 xmkmf는 어디에서 얻을 수 있습니까?
- 30. CFC는 애플리케이션 스코프를 어디에서 얻을 수 있습니까?
나는 이것이 http://stackoverflow.com/questions/7807360/how-to-get-pixel-colour-in-android에서 완전히 답변되었다고 생각합니다. –
색상을 넣으면 이미지보기에 태그를 설정합니다. 나중에, getTag() 메소드를 호출하여 정보를 얻는다. – mromer