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

时间:2012-12-21 03:09:40

标签: java android image bitmap nine-patch

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

 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。

0 个答案:

没有答案