QT学习笔记-Qbitmap

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    //声明画图事件
    virtual void paintEvent(QPaintEvent *event);

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QBitmap>
#include <QImage>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
#if 0
    //如果希望在主窗口中绘图,需要在绘图事件中绘图;如果仅仅只是在绘图设备上绘图,只要在构造函数中绘图即可???
    //定义一个  QBitmap绘图设备
    QBitmap bit(200,200);
    //定义一个画家
    QPainter painter(&bit);
    painter.drawEllipse(QPoint(100,100),100,100);
    bit.save("G:\\QT\\DEMO\\14_test_paibt03\\bit01.jpg");
#endif

    //定义一个  QIamge绘图设备
    QImage img;
    //添加一个图片

    img.load(":/bit01.jpg");
    for(int i =0;i<100;i++)
    {
        for(int j=0;j<100;j++)
        {
            int q=qRgb(255,0,0);
            img.setPixel(i,j,q);
        }
    }
    //定义一个画家
    QPainter painter(&img);
    painter.drawEllipse(QPoint(20,20),10,20);
    img.save("G:\\QT\\DEMO\\14_test_paibt03\\img.jpg");

}

Widget::~Widget()
{
    delete ui;
}

void Widget::paintEvent(QPaintEvent *event)
{
//定义一个画家
    QPainter *painter = new QPainter(this);
    //划线
    painter->drawLine(0,0,100,100);
    painter->setPen(Qt::red);
    //painter->setPen(Qt::DotLine);
    painter->drawRect(100,100,100,200);
    QPoint p;
   // p.x()=
    painter->drawEllipse(100,200,200,200);
    painter->drawEllipse(400,500,300,200);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值