Android - 用颜色填充位图

6

我正在使用 Android 开发,非常需要一种快速的方式来获取指定大小的位图并用指定颜色填充。

然而,以下代码对我无效:

输入的 Bitmap 是可变的位图

    int old = input.getPixel(0, 0);
    Canvas c = new Canvas(input);
    Rect rect = c.getClipBounds(); // The dimensions of the bitmap are returned
    c.drawARGB(a, r, g, b);
    int n = input.getPixel(0, 0);
    if(old==n)
        Log.e(TAG, "Values didn't change!");
    return input;

放心,'old'值和(a|r|g|b)的值是不同的,但是使用我的可变位图在画布上绘制颜色后,位图仍然保留其旧值。

我会接受任何将位图和颜色值作为输入,并返回填充有该颜色的位图的方法。

1个回答

7

我没有提供足够的信息!

我的 alpha 值超出了范围;

int a = 0xFF<<24

所以当我打电话时
c.drawARGB(a,r,g,b);

它静悄悄地失败了,而且没有改变数值。


抱歉,这是我的第一篇帖子。如果我已经自己回答了问题,关闭问题的礼仪是什么? - gav
5
@Ben:你错了。当你自己解决一个问题时,应该将解决方案发布为答案并接受它。 @Gav:在StackOverflow上,通常只需提出问题,不用在结尾处添加“嘿”或“问候”,因为这只是无关紧要的干扰。 - Casebash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接