再谈qt中的绘图设备QPixmap,QImage,QPicture

23 篇文章 0 订阅
12 篇文章 0 订阅
本文详细介绍了Qt库中QPixmap和QImage两种绘图设备的区别和使用方法。QPixmap主要用于显示,适合在UI线程中使用,而QImage则适用于网络传输,支持多线程,并且与平台无关。通过示例代码展示了如何使用QPainter在两者之间进行绘图操作,并保存为图片文件。
摘要由CSDN通过智能技术生成

qt中的绘图操作,是通过QPainter这个绘图对象类,在绘图设备上进行。绘图设备除了QWidget窗体外,还有QPixmap,QImage,QPicture这三种:qt中QPixmap和QImage使用区别说明

    //QPixmap主要是用于显示,只能在主界面UI线程中使用,和具体平台有关。
    //而QImage主要是用于网络传输,支持多线程,和平台无关。
    QPixmap pix(200,200);//定义一个QPixmap绘图设备,相当于一张画布
    pix.fill(Qt::green);//指定填充颜色
    QImage image(200,200,QImage::Format_RGB32);//定义一个QImage绘图设备,也相当于一张画布
    image.fill(Qt::blue);//指定填充颜色
    QPainter p;//定义绘图对象,默认没有绑定绘图设备,也可以直接构造函数里指定一个绘图设备。
    p.begin(&pix);//绑定到QPixmap绘图设备对象
    p.setPen(QPen(QColor(200,100,200)));//设置画笔
    p.drawRect(10,10,150,100);//画一个矩形
    p.end();//解绑绘图设备
    pix.save("D:\\1.png");//把画布上的内容保存出来
    //依次类推,绑定到QImage绘图设备对象
    p.begin(&image);
    p.setPen(QPen(QColor(100,100,50)));
    p.drawRect(10,10,150,100);
    p.end();
    image.save("D:\\2.png");
    //QPicture是记录的绘图步骤,是二进制文件,无法直接显示,需要通过QPainter绘图对象的drawPicture函数来显示。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值