如何将RGB组件转换为C中的百分比?
答
划分有什么问题?
unsigned char red = 45;
float percentage = red/255.0f;
答
像这样:
int rgbValue = 123;
float fpValue = rgbValue/255.0;
答
如果你有在INT整个RGB值,你有这个选项。
//Color Component Percents
#define CCP_ALPHA(argb) (((argb) & 0xFF000000) >> 24) /255.0f
#define CCP_RED(rgb) (((rgb) & 0xFF0000) >> 16) /255.0f
#define CCP_GREEN(rgb) (((rgb) & 0xFF00) >> 8) /255.0f
#define CCP_BLUE(rgb) ((rgb) & 0xFF) /255.0f
int main(int argc, char *argv[])
{
int argb = 0xCCDD33EE;
printf("Alpha %.2f%%\nRed %.2f%%\nGreen %.2f%%\nBlue %.2f%%\n",
CCP_ALPHA(argb) * 100,
CCP_RED(argb) * 100,
CCP_GREEN(argb) * 100,
CCP_BLUE(argb) * 100);
}
输出
Alpha 80.00%
Red 86.67%
Green 20.00%
Blue 93.33%
由255不是要去工作划分您的RGB出于某种原因? – 2011-04-15 21:06:28
该死的。我是个白痴。 – 2011-04-15 21:09:28
你错过了小学二年级吗? – ern0 2011-04-15 21:09:35