2011-02-24 85 views
1

我剛開始寫一個動態壁紙。在動態壁紙中設置背景位圖

我想要做的是從我的資源設置背景爲位圖。我會在這上面畫出我的動畫。

什麼是最有效的方法來做到這一點?有沒有辦法將背景設置爲動態壁紙中的位圖?每次在繪製動畫之前,我是否需要將位圖繪製到畫布中(這看起來好像效率可能非常低)?

感謝,

周杰倫

+0

動態壁紙?添加一些標籤。 – Tobu 2011-02-24 22:07:19

回答

1

這是我發現的。

從Eclipse的圖形文件:

注:在每一個與你擦肩而過檢索來自SurfaceHolder畫布,畫布以前的狀態將被保留。爲了正確地繪製圖形的動畫,必須重新繪製整個表面。例如,您可以通過使用drawColor()填充顏色或使用drawBitmap()設置背景圖像來清除畫布的以前狀態。否則,你會發現你先前執行

附圖的痕跡因此,我使用的代碼如下:

中的onCreate() mBitmapBase = BitmapFactory.decodeResource

(getResources(),R.drawable.bidBackground) ;

在onSurfaceChanged() //大小的背景位因此它有效地繪製 mBitmapBackground = Bitmap.createScaledBitmap(mBitmapBackground,XMAX,YMAX,TRUE);

and Run() 嘗試 canvas = sHolder.lockCanvas();如果(canvas!= null) canvas.drawBitmap(mBitmapBackground,0,0,null);

據我所知,這是有效的,因爲它可以得到。雖然如果有人能糾正我的話,我很樂意聽到。