Android getPixels () posiblemente un error tonto?

Bueno, esto es bastante simple de entender, pero por alguna extraña razón no puedo conseguir que funcione .. He simplificado este ejemplo del código real.

InputStream is = context.getResources().openRawResource(R.raw.someimage); Bitmap bitmap = BitmapFactory.decodeStream(is); try { int[] pixels = new int[32*32]; bitmap.getPixels(pixels, 0, 800, 0, 0, 32, 32); } catch(ArrayIndexOutOfBoundsException ex) { Log.e("testing", "ArrayIndexOutOfBoundsException", ex); } 

¿Por qué debo seguir recibiendo una ArrayIndexOutOfBoundsException? La matriz de píxeles es 32×32 y en la medida en que estoy enterado que estoy usando correctamente getPixels. Las dimensiones de la imagen son 800×800 y estoy tratando de recuperar una sección 32×32. La imagen es un PNG de 32 bits que se informa como ARGB-8888.

¿Algunas ideas? Incluso si estoy siendo un idiota! Estoy a punto de tirar el teclado de la ventana: D

Te estás desbordando el búfer de destino porque estás pidiendo un paso de 800 entradas entre filas.

http://developer.android.com/reference/android/graphics/Bitmap.html#getPixels%28int%5B%5D,%20int,%20int,%20int,%20int,%20int,%20int%29

Utilice el ancho de mapa de bits como stride, en su caso 32

  bitmap.getPixels(pixels, 0, 32, 0, 0, 32, 32); 

Cada hilera de fila con 800 causas ur pixelarray para salir de límite

"Estoy a punto de lanzar el teclado de la ventana" funny lol

Usted obtiene la excepción OutOfBounds becacuse stride se aplica a la matriz de píxeles no a la bitmap original, por lo que en su caso, usted está tratando de recuperar 32 * 800 píxeles que no encaja en su matriz.

  • Cómo cambiar el color de imagen de mapa de bits en android?
  • Bitmap decodeStream OutOfMemory Excepción
  • Cómo optimizar la imagen como Facebook y WhatApp?
  • Fábrica de mapas de bits de Android sin memoria Segunda foto
  • Rotar un mapa de bits guardado en android
  • Android, guardar la imagen de la vista como archivo png
  • ¿Cómo limpiar un mapa de bits?
  • Manejo de mapas de bits grandes en Editor de imágenes
  • Imagen de mapa de bits sin memoria
  • Android: anchura y altura del mapa de bits sin cargarlo
  • ¿Cómo configurar la imagen de una imagen de una cadena?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.