【问题标题】:setting background bitmap in live wallpaper在动态壁纸中设置背景位图
【发布时间】:2011-02-24 21:50:34
【问题描述】:

我刚开始写动态壁纸。

我想做的是从我的资源中将背景设置为位图。我将在此基础上绘制我的动画。

最有效的方法是什么?有没有办法将背景设置为动态壁纸中的位图?我是否只需要在每次绘制动画之前将位图绘制到画布中(这似乎效率极低)?

谢谢,

【问题讨论】:

  • 动态壁纸?添加一些标签。

标签: bitmap live-wallpaper


【解决方案1】:

这是我发现的。

来自 eclipse 图形文档:

注意:每次从 SurfaceHolder 检索 Canvas 时,都会保留 Canvas 的先前状态。为了正确地为您的图形设置动画,您必须重新绘制整个表面。例如,您可以通过使用 drawColor() 填充颜色或使用 drawBitmap() 设置背景图像来清除 Canvas 的先前状态。否则,您会看到之前绘制的痕迹

所以我使用的代码如下:

在 onCreate() mBitmapBase = BitmapFactory.decodeResource(getResources(), R.drawable.bidBackground);

在 onSurfaceChanged() // 调整背景位图的大小,以便有效地绘制 mBitmapBackground = Bitmap.createScaledBitmap(mBitmapBackground, xMax, yMax, true);

在 Run() 中 尝试 { 画布 = sHolder.lockCanvas(); 如果(画布!= null) canvas.drawBitmap(mBitmapBackground, 0, 0, null);

据我所知,这是尽可能高效的。虽然如果有人能纠正我这个问题,我很乐意听到。

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多