java Android - trabajar con escalado / recorte de imágenes mediante programación
Bueno, todo esto me tortura por largas semanas, establezco una imagen de 227 píxeles de alto en escala de 170 píxeles, incluso si quiero que esté envuelto en contenido cada vez que lo haga.
De acuerdo. Aquí tomo My Image, que tiene una longitud de 1950 píxeles (pongo aquí una parte de ella para que puedas entender cómo debería ser).
Primero, quiero volver a escalarlo a 227 píxeles de alto porque así fue como fue diseñado y como debería ser
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.ver_bottom_panel_tiled_long);
int width = bitmapOrg.getWidth();
int height = bitmapOrg.getHeight();
int newWidth = 200; //this should be parent's whdth later
int newHeight = 227;
// calculate the scale
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// create a matrix for the manipulation
Matrix matrix = new Matrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
width, height, matrix, true);
BitmapDrawable dmpDrwbl=new BitmapDrawable(resizedBitmap);
verbottompanelprayer.setBackgroundDrawable(dmpDrwbl);
así que ... no es una imagen recortada en absoluto, no, son 1950 píxeles presionados en 200 píxeles.
Pero solo quiero cortar cualquier cosa además de estos 200 píxeles o el ancho que establezca, recórtelo y no presione toda esta imagen larga en el área de 200 píxeles.
Además, BitmapDrawable (Bitmap bitmap); y imageView.setBackgroundDrawable (drawable); están en desuso - ¿cómo puedo cambiar eso?