Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Bitmap getWidth devuelve un valor incorrecto

Tengo una imagen del jpg en mi carpeta androide drawable de la aplicación que la resolución es 1000×600. Cargo esa imagen a bitmap como este

Bitmap bitMap = BitmapFactory.decodeResource(getResources(), R.drawable.image); 

Después de esto llamo bitMap .getWidth() que devuelve 1500. ¿Cómo puede ser? ¿Y cómo conseguir la anchura y la altura correctas de la imagen?

  • Arquitectura limpia: cómo reflejar los cambios de la capa de datos en la interfaz de usuario
  • NullPointerException Advertencia sobre getView () dentro del método onActivityCreated / onStart / onViewCreated
  • Paquete de errores android.support.design.widget no existe
  • Runtime.exec (): ¿Reanudar en Android?
  • ¿Hay una manera de pasar un arraybuffer de javascript a java en Android?
  • ¿Cuál es el propósito de ClassName.this más allá de la desambiguación?
  • Android Studio, ProGuard no puede calcular hash de Classes.jar
  • ¿Puede S3 de Amazon devolver los resúmenes de objetos en el orden de la fecha?
  • One Solution collect form web for “Bitmap getWidth devuelve un valor incorrecto”

    Esto es probablemente debido a densidades diferentes. Su recurso probablemente se almacena en una carpeta de densidad media, pero su dispositivo es hdpi. La densidad media es 160dpi, alta densidad es 240dpi. Por lo tanto, su mapa de bits se escala a 1,5 veces el tamaño que era originalmente. Consulte el documento en varias pantallas para obtener más información.

    Si los recursos no están disponibles en la densidad correcta, el sistema carga los recursos predeterminados y los escala hacia arriba o hacia abajo según sea necesario para que coincidan con la densidad de la pantalla actual.

    Si pretendía que esto fuera para alta densidad, póngalo en drawable-hdpi en lugar de drawable o drawable-mdpi.

    Actualizar:

    Si desea que ignore la densidad, colóquela en una carpeta nodpi. También del mismo documento:

    La forma más fácil de evitar la pre-escala es colocar el recurso en un directorio de recursos con el calificador de configuración de nodpi. Por ejemplo:

     res/drawable-nodpi/icon.png 

    Cuando el sistema usa el mapa de bits icon.png de esta carpeta, no lo escala basado en la densidad del dispositivo actual.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.