2017-01-19 1 views
0

私はより具体的に白丸、内部のBitmapを埋めるためにしようとしているビットマップは

enter image description here

私は画像を理解するために背景グレーを作成しました。

私は、このメソッドを使用しますが、それは私が何をしたいことはありません。..

public static Bitmap getRoundedBitmap(Bitmap bitmap) 
{ 
    final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); 
    final Canvas canvas = new Canvas(output); 

    final int color = Color.WHITE; 
    final Paint paint = new Paint(); 
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); 
    final RectF rectF = new RectF(rect); 

    paint.setAntiAlias(true); 
    canvas.drawARGB(0, 0, 0, 0); 
    paint.setColor(color); 
    canvas.drawOval(rectF, paint); 
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); 
    canvas.drawBitmap(bitmap, rect, rect, paint); 

    bitmap.recycle(); 

    return output; 
} 

答えて

1

私はあなたが楕円形のカラーでColor.WHITEを交換ALPHA = 0トライを(持ってペイントするために使用する色を推測します1.0f、1.0f、1.0f、1.0f)。それはあなたの問題を解決している場合を教えてください、と見てみましょう:SRC_INため、この場合 What does PorterDuff.Mode mean in android graphics.What does it do?

:[サ*ダ、サウスカロライナ州*ダ](アンドロイド参照、PorterDuff.Modeから撮影)

+0

「PorterDuff.Mode.DST_OVER」は私の問題を解決しました –

+0

ようこそ!良いものを持っている。 – NicoBerrogorry

-1

ここでは、XMLで作成された図形を使用する例を示します。

1)Drawableリソースフォルダを右クリックし、新しいDrawableリソースファイルを作成します。

2)次のコードを貼り付けます。これはあなたが望むバックグラウンドとかなり類似した外観を持つ描画可能なリソースを作成します。

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <size android:width="50dp" android:height="50dp"/> 
      <solid android:color="@android:color/darker_gray"/> 
     </shape> 
    </item> 
    <item> 
     <shape android:shape="oval"> 
      <size android:width="50dp" android:height="50dp"/> 
      <solid android:color="@android:color/white"/> 
     </shape> 
    </item> 
</layer-list> 

3)レイアウトでリソースを使用します。私のプレースホルダAndroidのチェックボックスをあなたの 'tick'リソースファイルに置き換えてください。

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/highlight_circle"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:src="@android:drawable/checkbox_on_background"/> 
</RelativeLayout> 
+0

ビットマップにリソースが必要ない... –

+0

あなたが望むものを明確にすることはできますか?ビューで使用するために、ビットマップを円/灰色の背景に配置することを検討していますか? – Charlie

+0

いいえ、私はビットマップ(最初の画像)を持っていて、それを白い円に包みたいです(2番目の画像のようですが、別のビットマップ、リソースファイルは必要ありません) –

関連する問題