Bitmap.createBitmap (Fuente de mapa de bits, int x, int y, int width, int height) return bitmap incorrecto
Tengo que recortar una imagen de mapa de bits. Para esto estoy usando
Bitmap bitmap = Bitmap.createBitmap(imgView.getWidth(),imgView.getHeight(), Bitmap.Config.RGB_565); Bitmap result =Bitmap.createBitmap(bitmap,imgView.getLeft()+10, imgView.getTop()+50, imgView.getWidth()-20, imgView.getHeight()-100); bitmap.recycle(); Canvas canvas = new Canvas(result); imgView.draw(canvas);
Pero corta el fondo y la derecha del mapa de bits. La parte superior y la parte izquierda del mapa de bits existen en la salida. Esto significa que la posición xyy no tienen efecto.
- Lista de Android todas las imágenes disponibles
- Android: ¿cómo hacer una imagen de mapa clicable con cada país produciendo una acción diferente?
- Cómo cambiar el tamaño de la imagen al pulsar
- ¿Cómo puedo modificar TouchImageView con doble toque para acercar y alejar?
- ¿Cómo pellizcar zoom imagen en zoom de imagen android?
Me buscan una buena documentación. Pero no pude.
Gracias por adelantado
¿Cuál es el problema aquí y cómo resolverlo?
- Cómo convertir el mapa de bits a dibujo a lápiz en Android?
- Problema con la imagen que tiene fondo transparente en Android
- Android - Dibujar en la parte superior de una imagen
- Android agregar imagen al botón
- Android: imposible cargar la imagen a MySql remoto DB con php script
- ¿Es JPG realmente sólo aceptable para su uso en Android?
- ¿Cómo configuro un borde alrededor de una imagen en Android?
- Imageloader sólo carga imágenes en la lista después de listitem ha salido de la pantalla
Básicamente, el problema surge del hecho de que se crea un mapa de bits. No pones nada en ella. A continuación, crear un mapa de bits más pequeño y, a continuación, convertir un imageView a ese mapa de bits más pequeño.
Esto corta los 100 píxeles inferiores y los 20 píxeles correctos.
Necesita crear el mapa de bits grande. Agregue los datos de vista de imagen a ese mapa de bits. A continuación, cambiar el tamaño.
El código siguiente debería funcionar:
Bitmap bitmap = Bitmap.createBitmap(imgView.getWidth(),imgView.getHeight(), Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); imgView.draw(canvas); Bitmap result =Bitmap.createBitmap(bitmap,imgView.getLeft()+10, imgView.getTop()+50, imgView.getWidth()-20, imgView.getHeight()-100); bitmap.recycle();
- Inicie una actividad desde una pantalla de Preferencia
- ¿Cuál es la unidad del valor del parámetro en el método onMeasure (int widthMeasureSpec, int heightMeasureSpec) de View Class?