1 基本知识‘api
QPainter paint(this);//绘图设备
QPixmap pix;//图像工具类
pix.load("E:\\Qt_Projects\\build-Demo18-Desktop_Qt_5_10_1_MSVC2013_64bit-Debug\\debug\\imges\\logo.png");
paint.drawPixmap(0,0,100,100,pix);
// //缩放工具
//获取原先的图片大小
// qreal width=pix.width();
// qreal height=pix.height();字体
//设置缩放倍数ui
// pix.scaled(width*0.2,height*0.2,Qt::KeepAspectRatio);this
//旋转
paint.translate(40,50);debug
//旋转角度大小
paint.rotate(90);
paint.translate(-40,-50);
paint.drawPixmap(100,100,80,100,pix);图片
//扭曲 ci
paint.shear(0.5, 0); //横向扭曲
paint.drawPixmap(100, 0, 80, 100, pix);get
2 代码it
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::paintEvent(QPaintEvent *){
//设置字体样式 绘制文本 并将文本放于矩形中
// QPainter painter(this);
// QRectF rect(50,50,300,200);
// QFont font("宋体",16,QFont::Bold,true);
// font.setUnderline(true);
// font.setOverline(true);
// font.setCapitalization(QFont::SmallCaps);
// font.setLetterSpacing(QFont::AbsoluteSpacing,10);
// painter.setFont(font);
// painter.drawRect(rect);
// painter.setPen(Qt::red);
// painter.drawText(rect,Qt::AlignCenter,"Welcome use QT");
// 绘制路径
// QPainterPath path;
// path.addRect(50,50,40,40);
// path.moveTo(QPointF(90,90));
// path.lineTo(200,200);
// QPainter paint(this );
// paint.drawPath(path);
//显示图片 后缩放图片
//显示
QPainter paint(this);
QPixmap pix;
pix.load("E:\\Qt_Projects\\build-Demo18-Desktop_Qt_5_10_1_MSVC2013_64bit-Debug\\debug\\imges\\logo.png");
paint.drawPixmap(0,0,100,100,pix);
// //缩放
// qreal width=pix.width();
// qreal height=pix.height();
// pix.scaled(width*0.2,height*0.2,Qt::KeepAspectRatio);
// paint.drawPixmap(80,80,pix);
//旋转图片
paint.translate(40,50);
paint.rotate(90);
paint.translate(-40,-50);
paint.drawPixmap(100,100,80,100,pix);
paint.shear(0.5, 0); //横向扭曲
paint.drawPixmap(100, 0, 80, 100, pix);
}
demo 18 路径: