绘图设备
10.1 QPixmap、QBitMap(黑白色)、QImage、QPicture、QWidget
10.2QPixmap
10.2.1创建对象QPixmap pix(w,h)
10.2.2fill填充色
10.2.3 保存save。
10.3 Qimage img(w,h,format) //设置像素 setPixel
10.4 QPicture 重现记录 绘图指令 后缀tz
//重现绘图指令
QPicture pic;
pic.load("D:\\QT-P\\12_QpainterDevice\\pic.tz");
QPainter painter(this);
painter.drawPicture(0,0,pic);
#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QPicture>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//QPixmap 做绘图设备 对不同平台显示做了优化
// QPixmap pix(300,300);
// pix.fill(Qt::white);
// QPainter painter(&pix);
// painter.setPen(QPen(Qt::green));
// painter.drawEllipse(QPoint(150,150),100,100);
// //保存
// pix.save("D:\\QT-P\\11_painter\\pix.png");
//QImage 做绘图设备 //对像素级做了优化
// QImage img(300,300,QImage::Format_ARGB32);
// img.fill(Qt::white);
// QPainter painter(&img);
// painter.setPen(QPen(Qt::blue));
// painter.drawEllipse(QPoint(150,150),100,100);
// //保存
// img.save("D:\\QT-P\\11_painter\\img.png");
//QPicture 绘图设备
QPicture pic;//用于重现 记录绘图指令的
QPainter painter;
painter.begin(&pic);
painter.setPen(QPen(Qt::cyan));
painter.drawEllipse(QPoint(150,150),100,100);
painter.end();
//保存
pic.save("D:\\QT-P\\12_QpainterDevice\\pic.tz");
}
void Widget::paintEvent(QPaintEvent *event)
{
//QImage可以修改像素
// QImage img;
// img.load(":Image/Luffy.png");
// for(int i=0;i<50;i++)
// {
// for(int j=0;j<50;j++)
// {
// QRgb value = qRgb(255,0,0);
// img.setPixel(i,j,value);
// }
// }
// QPainter painter(this);
// painter.drawImage(QPoint(0,0),img);
}
Widget::~Widget()
{
delete ui;
}