0

キャンバスに描画できる画像の配列を作成しようとしています。これは私が持っているものです:

List<Integer> imageHolder = new ArrayList<Integer>(); 
imageHolder.add((int)R.drawable.bus_1);
imageHolder.add((int)R.drawable.bus_2);
imageHolder.add((int)R.drawable.bus_3);

次に、onDraw メソッドから次のような画像にアクセスしようとします。

protected void onDraw(Canvas canvas) {
        canvas.drawColor(Color.BLACK);


        for (int i = 0; i < imageHolder.size(); i++){


            canvas.drawBitmap(imageHolder.get(i), 0, 0, null);
        }


    }

しかし、引数が canvas.drawbitmap に適用できないというエラーが表示されます。誰もこれを行う方法を知っていますか?私はこれを行う方法についての説明を探していましたが、どこにも見つかりません。

編集:これは、画面上の異なるポイントで3つの画像を印刷するように機能させる方法です:

for (int i = 0; i < imageHolder.size(); i++) {
    bMap = BitmapFactory.decodeResource(res, imageHolder.get(0));
    canvas.drawBitmap(bMap, 100, 100, null);
    bMap2 = BitmapFactory.decodeResource(res, imageHolder.get(1));
    canvas.drawBitmap(bMap2, 500, 100, null);
    bMap3 = BitmapFactory.decodeResource(res, imageHolder.get(2));
    canvas.drawBitmap(bMap3, 900, 100, null);
        }
4

2 に答える 2

0

笑!最初のパラメーターは Bitmap オブジェクトですが、リソースcanvas.drawBitmapを指す整数しかありません。

以下を使用できます。

canvas.drawBitmap(BitmapFactory.decodeResource(getContext().getResources(), imageHolder.get(i)), 0, 0, null);
于 2013-02-04T13:36:51.990 に答える