Tengo un problema. Necesito unir dos imágenes de diferentes tamaños (dibujables). La idea es tener una imagen de alguien (cargada dinámicamente) que sea 100x100px y tenga un fondo transparente que sea más grande (por ejemplo, 100x120). En esos últimos 20 píxeles, tengo una flecha que se supone que apunta a la ubicación de una persona en un mapa. Entonces creo que podría hacer algo como esto:Mapas: fusionando múltiples maquiales de diferentes tamaños
Drawable[] layers = new Drawable[2];
layers[0] = res.getDrawable(R.drawable.background_img);
layers[1] = res.getDrawable(R.drawable.icon);
LayerDrawable layerDrawable = new LayerDrawable(layers);
Pero esto simplemente superpone una imagen a otra ignorando sus límites.
Gracias de antemano, Vaidas
- ACTUALIZACIÓN: Finalmente resolvieron el problema. Funciona como un encanto :)
private Drawable createPersonDrawable(Bitmap personImage)
{
Bitmap resultingBitmap = Bitmap.createBitmap(drawableWidth,
drawableHeight, Bitmap.Config.ARGB_8888);
Canvas comboCanvas = new Canvas(resultingBitmap);
comboCanvas.drawBitmap(personImage, 0, 0, null);
// Get the bottom part of the image from resources
Bitmap bottomPart = BitmapFactory.decodeResource(getResources(),
R.drawable.person_map_icon_bottom);
comboCanvas.drawBitmap(bottomPart, 0, drawablePersonImageHeight, null);
comboCanvas.save();
return new BitmapDrawable(resultingBitmap);
}
me encontré con la descripción aquí: http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas
Gracias. Trataré de publicar los resultados. –