我想創建一個'圖紙'看我正在通過畫布繪製的位圖,並試圖找出最好的方法來做到這一點。在畫布上平鋪一個位圖
我無法將包含圖形紙張背景的源位圖傳遞給畫布構造函數,因爲我通過.lockCanvas()調用獲取了SurfaceView中的畫布。
一些解決方案,我已經試過:
我試着在我SurfaceView的Thread.run()實現this solution,但我相信這個問題是當BitmapDrawable被轉換爲位圖...它失去了平鋪特性。
canvas = mSurfaceHolder.lockCanvas(null); BitmapDrawable TileMe = new BitmapDrawable(BitmapFactory.decodeResource(getResources(),R.drawable.editor_graph)); TileMe.setTileModeX(Shader.TileMode.REPEAT); TileMe.setTileModeY(Shader.TileMode.REPEAT);
位圖b = TileMe.getBitmap(); canvas.drawBitmap(b,0,0,null);
如果我使用Canvas.drawBitmap method that takes a destination RectF as a parameter,看起來位圖將平鋪以填充RectF ...但是如何可靠地聲明RectF以填充整個視區?
- 將活動背景設置爲所需的圖形紙外觀也不起作用,因爲位圖/畫布佈局是不透明的並且阻止了它被看到。
任何想法如何實現這一目標?
使用BitmapDrawable.draw(Canvas)方法,完美工作,謝謝! – 2011-01-30 06:08:52