android - 使用 NinePatch (.9.png) 制作缩放位图

标签 android user-interface bitmap drawable nine-patch

我需要为我的新 Android 应用程序绘制位图。由于我的内容 View 设置为我创建的 Game-Panel 类。我想通过位图显示图像。只是因为它比其他任何事情都更方便、更容易做。 根据我从研究中收集到的信息, 9-patch 图像 (.9.png) 在 android 中用于比常规 Drawable 图像更适本地缩放。它还说“这可用于在背景中适当缩放。例如常规按钮背景......”。如果 Nine Patch 图像可以更好地缩放。您能否使用 9-patch 制作特定宽度和高度的位图,因为它会更适本地缩放?例如

Bitmap b = createBitmap(BitmapFactory.decodeResource(NinePatchImage), x, y, width, height);

这可能吗?我应该换一种方式吗?我应该先创建位图然后缩放位图吗?这甚至是必要的吗?请帮忙。

最佳答案

Bitmap bitmap = Bitmap.createBitmap(canvasWidth, canvasHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
NinePatchDrawable drawable = (NinePatchDrawable) getResources().getDrawable(R.drawable.myDrawable);
drawable.setBounds(new Rect(x, y, width, height));
drawable.draw(canvas);

关于android - 使用 NinePatch (.9.png) 制作缩放位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31777734/

相关文章:

android - SQLite 数据库副本在由设备而不是模拟器生成时出现损坏

java - 输入/输出有问题

java - 尝试检索和裁剪图像后未返回任何数据

c# - 将字符串格式化为英国电话号码

Android ListView 使应用程序崩溃

c# - 带边距的背景图像

c# - 将图形内容复制到位图

android - 从 ArrayList 释放位图的有效方法

android - 当设备安装在 Windows/Mac 上时,在外部存储上创建的文件不显示

android - 从 Java 文件调用 C++ 文件中的 C++ 方法时出现 UnsatisfiedLinkError