Java 将位图转换为ninepatch以用作背景

Java 将位图转换为ninepatch以用作背景,java,android,image,bitmap,nine-patch,Java,Android,Image,Bitmap,Nine Patch,我有个问题,我已经坚持了几天了。我正在尝试将一个九块图像转换为位图数组,并将特定颜色更改为不同的颜色。我无法将位图转换回九块补丁,因此我可以将其用作布局的背景。我曾尝试使用此代码创建位图,然后将其转换回可绘制的九块补丁,但它只是启动活动并闪烁黑色,然后返回到父活动。如果我注释掉九个补丁的创建和初始化,那么活动就可以开始了 Bitmap backMap = BitmapFactory.decodeResource(getResources(),R.drawable.outerbackground

我有个问题,我已经坚持了几天了。我正在尝试将一个九块图像转换为位图数组,并将特定颜色更改为不同的颜色。我无法将位图转换回九块补丁,因此我可以将其用作布局的背景。我曾尝试使用此代码创建位图,然后将其转换回可绘制的九块补丁,但它只是启动活动并闪烁黑色,然后返回到父活动。如果我注释掉九个补丁的创建和初始化,那么活动就可以开始了

 Bitmap backMap = BitmapFactory.decodeResource(getResources(),R.drawable.outerbackground);
 backMap = backMap.copy(Bitmap.Config.ARGB_8888, true);
 backMap = getChangedColor(backMap, Color.rgb(212, 212, 212), Color.rgb(55, 50, 255));

 byte[] chunk = backMap.getNinePatchChunk();
 NinePatchDrawable np_drawable = new NinePatchDrawable(getResources(), backMap, chunk, new Rect(), null);
 np_drawable.setBounds(0, 0, backMap.getWidth(), backMap.getHeight());
我通常不会在这样的事情上寻求帮助,但我已经阅读了所有我能找到的关于九个补丁图片和位图的文档,仍然无法理解它

长问题短问题,我需要知道如何将位图转换为九块图像作为背景。万分感谢。在你完成任务后,你会得到另外的一百万


O我的目标是版本16,最小值为8。

检查这一点,结果发现问题在于,由于某种原因,我从位图副本创建了9个补丁块,但不起作用。如果有人知道为什么它不起作用,这将是有益的原因,当我把新的九补丁作为背景,它与原来的颜色在中间,但在边缘和角落,这是我需要的颜色。