下面我们用不同的颜色来绘制一块矩形区域,来对比学习RGB颜色。
一片漆黑的黑色
黑色在RGB中是三个颜色分量都是0。也就是没有颜色。
下面我们绘制一个水平100个像素,垂直200个像素的矩形区域,颜色设置为黑色。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QPainter>
#include <QPoint>
#include <QPen>
#include <QColor>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();void paintEvent(QPaintEvent * paintEvent){QPainter painter(this);QColor color(0, 0, 0);//RGB三个分量都是0,没有颜色,一片漆黑:黑色auto pen = QPen(color, 1);painter.setPen(pen);QPoint start_point(20, 30);int height = 200;int width = 100;//水平方向 x//垂直方向 yfor (int x = 0; x < width; ++x) {for (int y = 0; y < height; ++y) {painter.drawPoint(start_point+QPoint(x,y));}}}
private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
程序输出:
RGB 红色
把上面代码中的 color 如下定义就可以显示红色:
QColor color(255, 0, 0);//R = 255 最大值,纯红色
程序输出:
RGB 绿色
把上面代码中的 color 如下定义就可以显示绿色:
QColor color(0, 255, 0);//Green = 255 最大值,纯绿色
程序输出:
RGB 蓝色
把上面代码中的 color 如下定义就可以显示蓝色:
QColor color(0, 0, 255);//Blue = 255 最大值,纯蓝色
程序输出:
RGB 白色
白色是所有分量都达到最大值的颜色,也就是白色是全部颜色都到齐了的颜色。和黑色相反。
把上面代码中的 color 如下定义就可以显示白色: