我正在尝试使用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之后,但无效。
答案 0 :(得分:2)
您的输入是半透明的颜色,您希望输出稍微亮一些。这可以通过将输入覆盖白色来实现。
support-v4库包含ColorUtils.compositeColors
,它可以满足您的需求:
final int input = Color.argb(204, 40, 40, 40);
final int output = ColorUtils.compositeColors(input, Color.WHITE);