无法在Gingerbread上编辑位图

时间:2013-07-25 06:42:28

标签: android bitmap nine-patch

我在编辑从NinePatchDrawable加载的Bitmap时遇到了问题。这是drawable(TabWidget的一部分可从Sherlock绘制 - drawable-mdpi / abs__list_pressed_holo_dark):http://imageshack.us/a/img839/4976/tgt6.png

我想改变除黑白像素之外的每一个像素:

    int toColor = Color.Red;
    Bitmap src = BitmapFactory.decodeResource(res, resId);
    Bitmap bitmap = src.copy(Bitmap.Config.ARGB_8888, true);

    for(int x = 0; x < bitmap.getWidth(); x++)
        for(int y = 0; y < bitmap.getHeight(); y++){
            if(pixel not black nor white){
                bitmap.setPixel(x, y, toColor);
            }
        }

    byte[] chunk = src.getNinePatchChunk(); 
    return new NinePatchDrawable(res, bitmap, chunk, new Rect(), null);

所以......这段代码在Galaxy S2(Jelly Bean)上效果很好,但在Galaxy Ace 2(Gingerbread)上不起作用。新的drawable简单不会改变......问题是什么?

修改

上面的代码适用于另一个Sherlock NinePatchDrawable - abs__ab_transparent_light_holo(http://img802.imageshack.us/img802/7039/otb9.png)...,但不适用于第一个。我再说一遍:这只发生在姜饼上

0 个答案:

没有答案