2012-03-11 13 views
0

9つのパッチをビットマップにペイントします(すべてのスペースに塗りつぶしスペースを塗りつぶします)。それは私のコードですが動作しません。手伝って頂けますか?ビットマップに9パッチをペイントする

Bitmap bmp= Bitmap.createBitmap(300, 300, Bitmap.Config.ARGB_8888); 
    Drawable drawable= getResources().getDrawable(R.drawable.car); 
    Canvas canvas= new Canvas(bmp); 
    drawable.draw(canvas); 
    iv2.setImageBitmap(bmp); 

答えて

4

描画する前に、あなたのドロウアブルの境界を設定してみてください:

Bitmap bmp = Bitmap.createBitmap(300, 300, Bitmap.Config.ARGB_8888); 
Drawable drawable = getResources().getDrawable(R.drawable.car); 
Canvas canvas = new Canvas(bmp); 
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); 
drawable.draw(canvas); 
iv2.setImageBitmap(bmp); 

あなただけImageViewを使用しているように見えることを考えると、私はあなただけで設定していない理由はわからないが、それは直接setImageDrawableを使用しています。

+0

答えていただきありがとうございます。ImageViewで設定する前に、ビットマップに多くのものをペイントする必要があるため、このメソッドを使用しないでください – Addev

関連する問題