Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将两种颜色组合在一起_Java_Graphics_Alphablending - Fatal编程技术网

Java 将两种颜色组合在一起

Java 将两种颜色组合在一起,java,graphics,alphablending,Java,Graphics,Alphablending,我想组合两种颜色的值。例如: // color 1: int aa = 255; int rr = 255; int gg = 0; int bb = 0; // color 2: int aa = 128; int rr = 0; int gg = 0; int bb = 0; 第一种颜色是100%阿尔法的纯红色。第二种颜色为50%alpha的黑色。我想找到最终的组合颜色,就像我将第二种颜色分层在第一种颜色之上一样,就像你在photoshop中通过层所做的那样 这样做的公式是什么?我

我想组合两种颜色的值。例如:

// color 1:
int aa = 255;
int rr = 255;
int gg = 0;
int bb = 0;

// color 2:
int aa = 128; 
int rr = 0; 
int gg = 0; 
int bb = 0;
第一种颜色是100%阿尔法的纯红色。第二种颜色为50%alpha的黑色。我想找到最终的组合颜色,就像我将第二种颜色分层在第一种颜色之上一样,就像你在photoshop中通过层所做的那样

这样做的公式是什么?我不确定这里的术语是否正确,所以得到的搜索结果我认为不是我想要的


谢谢

您是否尝试添加这两种颜色以查看结果是否符合您的预期

Class Color
{
int aa ;
int rr ;
int gg ;
int bb;
}

 Color Combined( Color a, Color b)
 {
    Color result=new Color();
    result.aa=(int)((a.aa+b.aa)/2);
    result.rr=(int)( (a.rr+b.rr)/2);
    result.gg=(int)( (a.gg+b.gg)/2);
    result.bb=(int)( (a.bb+b.bb)/2);
    return result;
 }

@gtgaxiola我使用了你链接中发布的解决方案。@gtgaxiola有正确的答案,波特和达夫的“DST_OVER”操作符。使用顶部图像的alpha将顶部图像值与底部图像值混合。这是不正确的;它是对alpha进行平均,应该使用顶部图像alpha将顶部图像与底部图像混合。