Android - 将ARGB颜色转换为RGB

时间:2017-02-10 22:38:14

标签: java android colors rgb rgba

我正在尝试使用alpha获取颜色的rgb值,这意味着使用不同的红色,绿色和蓝色值使其完全不透明。

例如,

string input="123456789";
int n=input.size();
string final(n,'0');
string::const_iterator  p=input.begin(),q=input.end();
string::iterator f=final.begin();

void divide(int divisor)
{
 int reminder = 0,dividend,quotient;

 /*repeatedly divide each element*/
 for(; p!=q ; p++,f++){
    dividend = (reminder * 10) + (*p-'0');
    reminder = dividend % divisor;
    quotient = dividend / divisor;
    *f = quotient + '0';
 }
 /*remove any leading zeroes from the result*/
 n = final.find_first_not_of("0");
 if (n != string::npos)
 {
    final = final.substr(n);
 }
 std::cout << final ;
}

int main(){
   int x;
   std::cin  >> x;
   divide(x);
   return 0;
}

我已尝试将argb转换为HEX,并在HEX转换为rgb之后,但无效。

1 个答案:

答案 0 :(得分:2)

您的输入是半透明的颜色,您希望输出稍微亮一些。这可以通过将输入覆盖白色来实现。

support-v4库包含ColorUtils.compositeColors,它可以满足您的需求:

final int input = Color.argb(204, 40, 40, 40);
final int output = ColorUtils.compositeColors(input, Color.WHITE);