QPainter. QpaintDevice 绘图设备
QPaintDevice 绘图设备
1 QPixmap QImage Qbitmap(黑白色) QPicture QWidget
2 QPixmap 对不同平台做了显示优化 fill(填充颜色) QPainter paintere(&pic) 画家往设备上画 画完保存 save("路径")
3 QImage 可以对像素进行访问,和 QPixmap 差不多 对像素进行修改 img.setPixel();
4 Qpicture 记录和重现绘图指令。save 的时候可以上任意后缀名称 重现利用画家 painter.drawPicture();
widget.h
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = nullptr); ~Widget(); protected: void paintEvent(QPaintEvent * even); private: Ui::Widget *ui; }; #endif // WIDGET_H
widght.cpp
#include "widget.h" #include "ui_widget.h" #include<QPixmap> #include<QPainter> #include<QImage> #include<QPicture> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //绘画设备专门为为平台做显示优化的 QPixmap pixmap(300,300); pixmap.fill(Qt::white);//填充颜色 QPainter painter(&pixmap); painter.setPen(QPen(Qt::green)); //设置绿色 //在设备上画圆 painter.drawEllipse(QPoint(100,100),100,100);//在点100,100 的位置画圆 pixmap.save("/Users/libin/qtProject/painterDraw/pix.png"); //////图片//////Qimag QImage imag(300,300,QImage::Format_ARGB32); QPainter painter2(&imag); painter2.setPen(QPen(Qt::red)); painter2.drawEllipse(QPoint(150,150),100,100); imag.save("/Users/libin/qtProject/painterDraw/imag.png"); ////QPictrue///////////绘图设备可以记录和重现绘图指令 QPicture picture; QPainter painter4; painter4.setPen(QPen(Qt::red)); painter4.begin(&picture); //开始往设备上画 painter4.drawEllipse(QPoint(20,20),200,200); painter4.end();//结束 picture.save("/Users/libin/qtProject/paintDevice/pic.zt"); } void Widget::paintEvent(QPaintEvent *even){ QImage img; img.load(":/mm.png"); QPainter painter3(this); for(int i =0;i<200;++i){ for(int j = 0;j<200;++j){ QRgb rbg = qRgb(255,i,j); img.setPixel(i,j,rbg); } } painter3.drawImage(0,0,img); //读取画笔指令 QPainter q5(this); QPicture picture3; picture3.load("/Users/libin/qtProject/paintDevice/pic.zt"); q5.drawPicture(0,0,picture3); } Widget::~Widget() { delete ui; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!