Tôi gặp sự cố. Tôi cần phải hợp nhất hai hình ảnh có kích thước khác nhau (drawables). Ý tưởng là có hình ảnh của một người nào đó (được tải động) có kích thước 100x100px và có nền trong suốt lớn hơn (ví dụ: 100x120). Trong 20 pixel cuối cùng, tôi có mũi tên được cho là trỏ đến vị trí của một người trên bản đồ. Sau đó, tôi nghĩ rằng tôi có thể làm một cái gì đó như thế này:Bản đồ: hợp nhất nhiều bản vẽ có kích thước khác nhau
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);
Nhưng điều này chỉ đơn giản là phủ lên một hình ảnh khác bỏ qua giới hạn của chúng.
Cảm ơn trước, Vaidas
- CẬP NHẬT: Cuối cùng giải quyết vấn đề. Hoạt động như một nét duyên dáng :)
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);
}
tôi thấy mô tả ở đây: http://www.jondev.net/articles/Combining_2_Images_in_Android_using_Canvas
Cảm ơn. Tôi sẽ thử và đăng kết quả. –