我想創建一個可以在畫布上繪製的圖像數組。這是我有:在畫布上創建一個圖像數組
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);
}
}
但我得到一個錯誤,說我的論據並不適用於我的畫布。 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);
}
輝煌,這是什麼我正在尋找。謝謝。是否有一種方法可以改變每個圖像在屏幕上的繪製位置,因爲它們都是在0,0點繪製的。 – DMC
請看看我在答覆中提供的文檔鏈接。它詳細解釋了'drawBitmap'可以使用哪些參數,包括Rect對象,X/Y座標,Mesh等。 –
謝謝我在上面的編輯中看到了它。 – DMC