gpt4 book ai didi

android - 使用 drawBitmap 在 Canvas 上绘制 9-patch 图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:51 29 4
gpt4 key购买 nike

在自定义 View 上使用 9-patch 图像资源的正确方法是什么?

我这样做:

background = BitmapFactory.decodeResource(getResources(), R.drawable.fundo_bookshelf);
canvas.drawBitmap(background, null, new Rect(0, y, width, y+backgroundHeight), null);

fundo_bookshelf 是一个合适的 9-patch 图片,保存为 fundo_bookshelf.9.png,见下图:

fundo_bookshelf

但是当使用 drawBitmap 时,整个图像被拉伸(stretch),而不是只有顶部黑色像素的部分,如这个截图所示: strechted image

最佳答案

是这样的吗?

NinePatchDrawable bg =  (NinePatchDrawable) resources.getDrawable(id);
if (bg != null) {
bg.setBounds(0, 0, getWidth(), getHeight());
bg.draw(canvas);
}

(抱歉,我没有将其改编为您的代码,这是我自己的直接剪切/粘贴,但希望足以继续)

关于android - 使用 drawBitmap 在 Canvas 上绘制 9-patch 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708209/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com