实用工具-RGB调色板
界面内容:R值输入框,G值输入框,B值输入框,最终颜色编码输入框,颜色显示,颜色组合按钮,颜色拆解按纽,对话框。
逻辑:
一.颜色组合。
1.检验,R、G、B是否为区间[0,255]的正整数?
1-1.否,弹出对话框:输入值有误。
1-2.是,继续。
2.设颜色显示-颜色为{合成色值[列表(R,G,B)]}。
3.进制转换,十进制→十六进制(R,G,B)。
4.设最终颜色编码为[10000x(十六进制R)+100x(十六进制G)+十六进制B]。
5.结束。
二.颜色拆解。
1.检验,颜色编码是否出现非0123456789ABCDEF字符?
1-1.是,弹出对话框:输入值有误。
1-2.否,继续。
2.检验,颜色编码是否为六位?
2-1.否,弹出对话框:输入值有误。
2-2.是,继续。
3.取颜色编码值前2位记作R0,中间2位记作G0,末2位记作B0。
4.进制转换,十六进制(R0,G0,B0→十进制(R,G,B)。
5.设颜色显示-颜色为{合成色值[列表(R,G,B)]}。
6.设R值为R,G值为G,B值为B。
7.结束。
注:
十进制→十六进制:
A0≧128?是,M1=1,令A0=A0-128;否,M1=0。
A0≧64?……M2……
A0≧32?……M3……
A0≧16?……M4……
A0≧8?……M5……
A0≧4?……M6……
A0≧2?……M7……
A0=1?是,M8=1;否,M8=0。
组合,N1=M1M2M3M4,N2=M5M6M7M8。
对照下表,将N1,N2转化为N3,N4。
0000→0,0001→1,0010→2,0011→3,0100→4,0101→5,0110→6,0111→7,1000→8,1001→9,1010→A,1011→B,1100→C,1101→D,1110→E,1111→F。
合并K=N3N4。
十六进制→十进制:
拆解数字N0为N1N2。
依上表,将N1N2逆转化为M1M2M3M4M5M6M7M8。
A=∑(i从1到8)Mi·2^(i-1)。