使用 NinePatch (.9.png) 制作缩放位图
Using NinePatch (.9.png) for making scaled Bitmaps
我需要为我的新 Android 应用程序绘制位图。由于我的内容视图设置为我创建的游戏面板 class。我想通过位图显示图像。只是因为它比其他任何事情都更方便、更容易做。
根据我从研究中收集到的信息,九个补丁图像 (.9.png) 在 android 中用于比常规 Drawable 图像更适当地缩放。它还说 "This can be used for scaling properly in backgrounds. For example a regular button background..."。如果 Nine 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 应用程序绘制位图。由于我的内容视图设置为我创建的游戏面板 class。我想通过位图显示图像。只是因为它比其他任何事情都更方便、更容易做。 根据我从研究中收集到的信息,九个补丁图像 (.9.png) 在 android 中用于比常规 Drawable 图像更适当地缩放。它还说 "This can be used for scaling properly in backgrounds. For example a regular button background..."。如果 Nine 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);