2016-11-24 16 views
1

ビットマップをXML描画可能な図形にオーバーレイする方法はありますか?私は楕円形の上にアイコンを置いて欲しい。XML描画可能なオーバーレイ図形

+1

はい、あります。 LayerDrawableを使用します。 –

+0

いいえ、あなたはxmlでそれを行うことはできません。代わりに 'RoundedBitmapDrawable'かそれに類する' Drawable'を使用してください。 – pskink

+0

@pskink [this](https://developer.android.com/guide/topics/resources/drawable-resource.html #LayerList)はあなたの意見では全く間違っていますか?*もちろん、**あなたはLayerDrawableでxmlのドロワーブルとビットマップを混在させることができます。 –

答えて

0
public static Bitmap overlayBitmapToCenter(Bitmap bitmap1, Bitmap bitmap2) { 
    int bitmap1Width = bitmap1.getWidth(); 
    int bitmap1Height = bitmap1.getHeight(); 
    int bitmap2Width = bitmap2.getWidth(); 
    int bitmap2Height = bitmap2.getHeight(); 

    float marginLeft = (float) (bitmap1Width * 0.5 - bitmap2Width * 0.5); 
    float marginTop = (float) (bitmap1Height * 0.5 - bitmap2Height * 0.5); 

    Bitmap overlayBitmap = Bitmap.createBitmap(bitmap1Width, bitmap1Height, bitmap1.getConfig()); 
    Canvas canvas = new Canvas(overlayBitmap); 
    canvas.drawBitmap(bitmap1, new Matrix(), null); 
    canvas.drawBitmap(bitmap2, marginLeft, marginTop, null); 
    return overlayBitmap; 
} 
関連する問題