#839. 像素类
像素类
题目描述
RGB像素是指基于红(Red)、绿(Green)、蓝(Blue)三原色通道的像素表示方式,通过不同亮度组合生成丰富色彩,是电子显示设备的通用标准。 红(R)、绿(G)、蓝(B)三个通道的数值在0~255之间。 R=G=B=0(十六进制#000000)表示黑色。 R=G=B=255(十六进制#FFFFFF)表示白色。 像素反转:就是用255-原来的像素值=新的像素值,从而达到像素翻转的效果。 例如 R=G=B=0 反色后得到 R=G=B=255。
用class 定义RGB像素类 Pixel,要求封装: 私有数据 r, g, b; 构造函数支持 Pixel() 黑(0,0,0) 与 Pixel(r,g,b); 重载 == 判断两像素同色; 重载 + 做“颜色叠加”(分量相加饱和到 255); 提供 invert() 成员函数返回自身反色; display()成员函数,输出 #RRGGBB 大写的十六进制格式。 然后按输入、输出要求测试 Pixel 类的功能。
输入格式
第一行3个正整数,分别表示第1个像素 p1 的R、G、B分量值。(输入保证R、G、B分量值<=255) 第二行3个正整数,分别表示第1个像素 p1 的R、G、B分量值。(输入保证R、G、B分量值<=255)
输出格式
第一行,如果两个像素相等则输出“相等”,否则输出“不相等”。 第二行,输出像素叠加的结果(#RRGGBB 大写的十六进制格式)。 第三行,输出叠加后的像素反色的结果(#RRGGBB 大写的十六进制格式)。
样例
输入样例 1
12 0 255
30 16 12
输出样例 1
不相等
#2A10FF
#D5EF00
输入样例 2
0 0 0
0 0 0
输出样例 2
相等
#000000
#FFFFFF
输入样例 3
255 255 255
255 255 255
输出样例 3
相等
#FFFFFF
#000000