其他分享
首页 > 其他分享> > 在android中混色

在android中混色

作者:互联网

我正在申请我有五种颜色:红色,绿色,蓝色,黄色,紫色

我想用这些颜色实现颜色混合:就像每种颜色有五个按钮一样.

用户触摸此颜色与先前绘制的颜色混合的任何颜色按钮.

我不知道如何添加两个颜色代码并获得第三种颜色.

编辑:

我还必须将此颜色设置为imageview的位图

我怎么设置这个?

解决方法:

另一种答案:

您可以混合十六进制中的位:

public static int mixTwoColors( int color1, int color2, float amount )
{
    final byte ALPHA_CHANNEL = 24;
    final byte RED_CHANNEL   = 16;
    final byte GREEN_CHANNEL =  8;
    final byte BLUE_CHANNEL  =  0;

    final float inverseAmount = 1.0f - amount;

    int a = ((int)(((float)(color1 >> ALPHA_CHANNEL & 0xff )*amount) +
                   ((float)(color2 >> ALPHA_CHANNEL & 0xff )*inverseAmount))) & 0xff;
    int r = ((int)(((float)(color1 >> RED_CHANNEL & 0xff )*amount) +
                   ((float)(color2 >> RED_CHANNEL & 0xff )*inverseAmount))) & 0xff;
    int g = ((int)(((float)(color1 >> GREEN_CHANNEL & 0xff )*amount) +
                   ((float)(color2 >> GREEN_CHANNEL & 0xff )*inverseAmount))) & 0xff;
    int b = ((int)(((float)(color1 & 0xff )*amount) +
                   ((float)(color2 & 0xff )*inverseAmount))) & 0xff;

    return a << ALPHA_CHANNEL | r << RED_CHANNEL | g << GREEN_CHANNEL | b << BLUE_CHANNEL;
}

标签:android,colors,mixing
来源: https://codeday.me/bug/20190929/1829915.html