【问题标题】:How to make a background image fill the canvas?如何使背景图像填充画布?
【发布时间】:2015-05-14 22:20:15
【问题描述】:

大家好,我是 android 新手,我有一个简单的问题。我正在使用位图制作动画并使用 onDraw() 将它们绘制到画布上。我正在尝试为我在 Photoshop 中制作的画布绘制背景。我已经将它作为可绘制对象上传,然后将其解码为位图,然后将其添加到 onDraw 方法中。它绘制,但我没有像我想要的那样填充整个画布。任何建议和或修复?非常感谢,我环顾四周,看到了一些关于将位图转换为图像视图的内容,但并没有真正理解所有内容。

【问题讨论】:

    标签: android canvas bitmap background


    【解决方案1】:

    使用 drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint),其中源的 rect 是整个位图(从 0,0 到宽度、高度),而 dest 是整个画布。这将拉伸位图以填充画布。请注意,这可能会导致宽高比关闭和/或出现模糊或块状问题。

    【讨论】:

    • 好的,感谢您的警告和帮助,非常感谢!
    • 我还应该为 Rect src 和 RectF dst 添加什么值?再次感谢。
    • src 为 (0,0,bitmap.getWidth(), bitmap.getHeight())。 dest 是 (0,0,canvas.getWidth(), canvas.getHeight())
    • 哦,好的,我把canvas.getwidth和height错误地放在了src,再次感谢您!