Wie man Bildansicht pixel android
In meinem Projekt möchte ich pick image from gallery
dann Benutzer berühren kann, dass Bild und das pixel color store into my db.
Problem:
Wird es geben, mir Ausnahme: y must be <bitmap.height()
Logcat:
07-22 16:38:59.406: E/AndroidRuntime(6139): java.lang.IllegalArgumentException: y must be < bitmap.height()
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.graphics.Bitmap.checkPixelAccess(Bitmap.java:788)
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.graphics.Bitmap.getPixel(Bitmap.java:740)
07-22 16:38:59.406: E/AndroidRuntime(6139): at com.example.mycolorreader.PhotoActivity$2.onTouch(PhotoActivity.java:121)
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.view.View.dispatchTouchEvent(View.java:3762)
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
07-22 16:38:59.406: E/AndroidRuntime(6139): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
07-22 16:38:59.406: E/AndroidRuntime(6139): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671)
Code:
final Bitmap bitmap = ((BitmapDrawable) ivPhoto.getDrawable()).getBitmap();
ivPhoto.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
int pixel = bitmap.getPixel(x, y);
Ich bin versuchen, viele mehr, was wie padding,Bild-layout dynamische, aber bekomme immer diese exception.
Bin ich Suche viele auf Stack overflow und Google, aber nicht immer auf positive Resonanz.
Bitte geben Sie mir einige Idee.
- x/y ist die Bildschirm-Koordinaten. Sie übersetzen sollten, Bildschirm-Koordinaten der bitmap lokalen Koordinaten und rufen Sie dann getPixel.
- wie übertragen Bildschirm cordinate zu bitmap.
- ich bin auch versuchen Sie diesen link. stackoverflow.com/questions/12674941/...
- check this ref
- Danke es funktioniert Wie Charme
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ereignis x/y-touch-Koordinaten. Man berührt bitmap pixel, wir sollten zuerst verdeckte Sie bitmap-Koordinaten. Dieses Verfahren war sehr schön beschrieben hier.