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将顶部图像与底部图像混合。