Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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 将ARGB转换为RGB并获得相同的颜色_Java_Colors - Fatal编程技术网

Java 将ARGB转换为RGB并获得相同的颜色

Java 将ARGB转换为RGB并获得相同的颜色,java,colors,Java,Colors,我从中获得#AARGGBB颜色 int getColor=bitmap.getPixel() (位图为ARGB_8888) 例如,getColor值为:#20000000(浅灰色) 我需要在#RRGGBB中获得相同的颜色,类似于#BDBDBD(浅灰色) 我该怎么做呢?看看这里: 在你的情况下是这样的 for (int i=0; i<myBitmap.getWidth()*5; i++) pixels[i] = 0xFFBDBDBD; for(int i=0;i如果你

我从中获得#AARGGBB颜色

int  getColor=bitmap.getPixel()
(位图为ARGB_8888)

例如,getColor值为:#20000000(浅灰色) 我需要在#RRGGBB中获得相同的颜色,类似于#BDBDBD(浅灰色)

我该怎么做呢?

看看这里:

在你的情况下是这样的

  for (int i=0; i<myBitmap.getWidth()*5; i++)
      pixels[i] = 0xFFBDBDBD;

for(int i=0;i如果你想要在白色上放置该颜色时出现的颜色,你必须将其混合。因为alpha是
0x20
,你将该颜色乘以
0x20
,白色乘以
0xff-0x20
,然后将它们相加


当然要分别对R、G和B进行处理。

#20000000是黑色的,而不是浅灰色。由于它是半透明的,如果在白色的上面绘制,它可能会变成浅灰色。这就是你想要的吗?得到在白色的上面绘制的颜色的结果吗?哦,我知道它是黑色的#000000。但是有什么方法可以得到确切的颜色(我看到的颜色)吗在#rrggbb中,没有alpha,或者它不真实?取决于你所看到的是什么意思。正如我所说,如果它在白色的上面,你会看到一件事。在黑色的上面,你会看到黑色。它本身就是黑色的。如果你想在白色的上面,那么就根据alpha将其与白色混合。萨米我很抱歉打扰你,但你能写一些例子吗?也许是这样me public void colorOnTopOfWhite(字符串argbHex)或诸如此类。我最近学习java,所以需要帮助。再次抱歉。对不起,public String不是void