下面我们用不同的颜色来绘制一块矩形区域,来对比学习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_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
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
//垂直方向 y
for (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 如下定义就可以显示白色:
QColor color(255, 255, 255);//RGB三个分量都是255,三种颜色组成白色
代码下载
QPaintRGB · CalmReason/learn-qt-with-code - 码云 - 开源中国 (gitee.com)