Android - 用颜色填充位图

gav*_*gav 6 android bitmap fill

我正在使用Android,我真的需要一种快速的方法来获得预定大小的位图以填充预定的颜色.

但是,以下代码对我不起作用;

位图输入是一个可变位图

    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;
Run Code Online (Sandbox Code Playgroud)

请放心,"旧"值和(a | r | g | b)的值不同,但是使用带有我的可变位图的画布"绘制"颜色,位图保留了它的旧值.

我会对任何采用位图和颜色值的方法感到满意,并返回一个填充了该颜色的位图.

gav*_*gav 7

我没提供足够的信息!

我的alpha值超出了范围;

int a = 0xFF<<24
Run Code Online (Sandbox Code Playgroud)

所以我打电话的时候

c.drawARGB(a,r,g,b);
Run Code Online (Sandbox Code Playgroud)

它悄然失败并没有改变价值观.

  • @Ben:你错了.当您自己解决问题时,将解决方案作为答案发布并接受.@Gav:在StackOverflow上,你通常只是问一个问题并在最后留下嘿或问候,因为这只是噪音 (5认同)