2012-02-22 22 views
0

私はここに1枚のキャンバスにキャンバスのみ、黒い画面

を画像タイルをconcatenizeしようが、私のコードは

Canvas createCanvas(Bitmap[][] array){ 

    int height = array[0][0].getHeight(); 
    int width = array[0][0].getWidth(); 
    Bitmap bitmap = Bitmap.createBitmap(3*height,3*width,Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bitmap); 
    canvas.drawBitmap (array[0][0],0f,0f,new Paint(Paint.ANTI_ALIAS_FLAG)); 
    canvas.drawBitmap (array[0][1],width,0f,new Paint(Paint.FILTER_BITMAP_FLAG)); 
    //etc..etc..for all the tiles 

    return canvas; 
} 

このように、このメソッドを呼び出している示しています

//source File 
    Bitmap bMap = BitmapFactory.decodeResource(getResources(),R.drawable.image); 
    //Tile Source File 
    Bitmap [][] array_ref = helper_ref.createImageArrays(bMap); 

    //Invoke Method above 
    Canvas canvas = helper_ref.createCanvas(array_ref); 
    //Draw canvas 
    ImageView view_ref = (ImageView) findViewById(R.id.imageView1); 
    view_ref.draw(canvas); 

私もあなたを提供私が描きたいと思う眺め。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    /> 

+0

私はcanvas.drawBitmapの最後の引数にnullを渡すのが問題だと思います。ペイントオブジェクトを渡してみてください。 – m1ntf4n

+0

うーん、それは仕事をしなかったが、それは手掛かりです。私はデフォルトのオブジェクトnew Paint()を渡しました。多分間違ったもの? – dan

+0

2つのペイント定数を成功させずに試しましたが、そうではないと思います。私はあなたに私が描くビューを提供します。 – dan

答えて

1

Google docsは、あなたが最後の行で呼び出す「ドロー」方法について言う何を見ている:

void draw(Canvas canvas) 
    Manually render this view (and all of its children) to the given Canvas. 

だから、これが行う唯一のことは、ImageViewのを描いています(そのキャンバスには空です)。実際に何が起こっているのかは、達成したいのとは反対です。ImageViewをそのビットマップに描画します。
解決方法は簡単です。最後に、createCanvasというメソッドはキャンバスを描画するのではなく、描画するビットマップを返すべきです。ビットマップの場合は、次のようにします。
view_ref.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));
これはすべきことです。

+0

作品+超説明!バディーありがとう! – dan

+0

問題ありません;) – m1ntf4n