4.QPixmap,QTransform,绘图函数的使用



  1. 新建一个项目Painter

MyWidget.h


#ifndef
MYWIDGET_H

#define
MYWIDGET_H

#include
<QWidget>

class
MyWidget
:
public
QWidget

{

Q_OBJECT

public:

explicit
MyWidget(QWidget
*parent
= 0);

void
paintEvent(QPaintEvent
*);

signals:

public
slots:

};

#endif
//
MYWIDGET_H


MyWidget.cpp


#include
"MyWidget.h"

#include
<QPainter>

#include
<QPixmap>

#include
<QApplication>

MyWidget::MyWidget(QWidget
*parent)
:

QWidget(parent)

{

}

void
MyWidget::paintEvent(QPaintEvent
*)

{

QPixmap
pixmap(size());

QPainter
p(&pixmap);

//p.translate(100,
100);

//p.scale();

//消除锯齿

p.setRenderHint(QPainter::Antialiasing);

//转换

QTransform
transform;

transform.translate(50,50);

//旋转30度

transform.rotate(30);

//
transform.scale(.5,
.5);

p.setTransform(transform);

#if
1

//下面的transform可以覆盖上面的一个transform的效果

QTransform
transform2;

//对整个效果进行缩放

transform2.scale(.5,
.5);

//最后一个参数实现和上面一个transform实现组合

p.setTransform(transform2,
true);

#endif

//通过两个点实现画线

p.drawLine(QPoint(0,
0),
QPoint(100,
100));

//p.translate(-100,
-100);

//钢笔

p.setPen(QPen(Qt::red,
2,
Qt::DashLine));

//使用刷子

p.setBrush(Qt::yellow);

//设置刷子

p.setFont(QFont("aaa",
40,
700,
true));

p.drawEllipse(QPoint(95,
333),
50,
50);

//里面写上文字

p.drawText(QPoint(300,
50),
"Hello
world");

//p.drawPixmap(QPoint(40,
40),
QPixmap("../aaa.png"));

//p.drawRect(QRect(40,
60,
100,
50));

//下面的方式实现画一个圆角矩形

p.drawRoundRect(QRect(40,
60,
100,
50));

p.end();

p.begin(this);

//通过下面的方式实现画图,之所以运行的结果是黑丝的图,是因为加的是pixmap

p.drawPixmap(0,
0,
pixmap);

}

int
main(int
argc,
char**
argv)

{

QApplication
app(argc,
argv);

MyWidget
w;

w.show();

return
app.exec();

}


运行结果:

时间: 2024-10-08 10:03:43

4.QPixmap,QTransform,绘图函数的使用的相关文章

Scilab 的绘图函数(1)

Scilab 的绘图函数 plot 函数 最基本的是 plot 函数,与 matlab 中的plot 函数类似. xdata = linspace(1,10,50); ydata = sin(xdata); plot(xdata, ydata); 对函数绘图,不需要事先计算出 ydata,比如下面的例子画出的结果是相同的. plot (xdata, sin); 这样还能节省些内存占用. 如果只设置总的标题,可以这样操作: title("My Plot"); 如果还要设置XY坐标轴的标题

opencv学习之路(4)、Mat类介绍,基本绘图函数

一.Mat类创建 1 #include <opencv2/opencv.hpp> 2 using namespace cv; 3 4 void main(){ 5 Mat img1=imread("E://1.jpg"); 6 Mat img2(img1); 7 Mat img3=img1; 8 Mat img4=img1.clone(); 9 Mat img5; 10 img1.copyTo(img5); 11 12 cvtColor(img1,img1,CV_BGR2H

5、opencv中的绘图函数

1.目标 a.学习使用 OpenCV 绘制不同几何图形 b. 你将会学习到这些函数: cv2.line(), cv2.circle(), cv2.rectangle(),cv2.ellipse(),cv2.putText() 等. 2.代码 上面所有的这些绘图函数需要设置下面这些参数: img:你想要绘制图形的那幅图像. color: 形状的颜色. 以 RGB 为例, 需要传入一个元组, 例如: (255,0,0)代表蓝色.对于灰度图只需要传入灰度值. thickness:线条的粗细.如果给一个

OpenCV for Python 学习 (一 绘图函数)

本人的学习笔记主要记录的是学习opencv-python-tutorials这本书中的笔记 今天晚上简单学习OpenCV for Python如何绘图,主要用了这几个函数(这几个函数可在:http://docs.opencv.org/modules/core/doc/drawing_functions.html 找到): cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) cv2.circle(img, center,

Scilab 的绘图函数(2)

一幅图是由许多元素组成的.包括图标题,x轴标签,y轴标签,刻度线等.图1给出了各个元素的一个示意图. 这些所有的元素在scilab中都是可以用代码控制的. 标题 上个笔记上介绍了用xtitle()函数可以在图上添加标题.比如: title("My Plot"); 实际上,title函数有三种形式: title(my_title) title(my_title,<Property>) title(<axes_handle>,<my_title>,<

R语言——绘图函数深入学习

利用R自带数据集 通过data()函数可以查看R自带数据集. > data() 返回以下结果,每一条记录都是一个数据,键入相应的数据名称可以查看具体信息. Data sets in package ¡®datasets¡¯: AirPassengers Monthly Airline Passenger Numbers 1949-1960 BJsales Sales Data with Leading Indicator BJsales.lead (BJsales) Sales Data wit

Matlab绘图函数一览

要查看Matlab所有绘图函数,请从Matlab主界面菜单查看"绘图目录",或从Matlab帮助文档查看"Types of MATLAB Plots"(在线版本).本文的图和英文解释摘自Matlab帮助文档. 类别 Function 图 维度 描述 曲线 plot 2 绘制曲线,相邻点之间被插值 fplot     输入函数或函数句柄.自变量取值区间,绘制曲线 plotyy 2 双纵坐标图,两个纵坐标的数量级不同 plot3 3 绘制3D曲线 loglog 2 X,

基本绘图函数:plot的使用

注意:“##”后面是程序输出结果 例如: par("bg") # 命令 ## [1] "white" # 结果 基本绘图函数: plot:散点图 hist:直方图 boxplot:箱线图 points:添加线 lines:添加线 text:添加文字 title:标题(main).坐标(xlab.ylab).字幕(sub)等的设置 axis:坐标轴设置 plot 常用参数:xlab/ylab/lwd/lty/pch/col lwd-线宽 lty-线型 pch:点类型

OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(1)

(一)本节教程的目的 本节你将学到: 1--如何使用Point在图像中定义2D点 2--如何以及为何使用Scalar 3--用OpenCv的函数Line绘直线 4--用OpenCvd的函数ellipse绘制椭圆 5--用OpenCv的函数rectangle绘矩形 6--用OpenCv的函数circle绘圆 7--用OpenCv的函数fillPoly绘填充多边形 (二)原理,本节我们将大量使用Point和Scalar这两个结构: **********************************