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-11-05 18:29:58

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

《R语言游戏数据分析与挖掘》一3.3 高级绘图函数

3.3 高级绘图函数 大部分高级绘图函数均有add参数(plot函数没有).如果add=FALSE(默认),则在新窗口中创建一个图形:如果add=TRUE,则在当前活动窗口中的原有图形之上叠加图形.在基础包中,R提供了绘制常见图形的功能,包括散点图.气泡图.柱状图.饼图.线图,也提供了一些专业的统计图形,如茎叶图.Q-Q图等.表3-9列出了基础包中可以绘制的一些图形. 3.3.1 散点图 1.散点图 R中创建散点图的基础函数是plot(x,y),其中x和y是数值型向量,代表图形中的(x,y)点.

OpenCv 绘图函数

OpenCv 绘图函数   OpenCv画矩形有两个函数,一个是C的API,还有一个C++的API.在应用时一定要注意,不然就会出现错误. void cvRectangle( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 );  这个是C语言的API. void cv::rectangle( CvArr* img, CvPoint pt1, C

《R语言游戏数据分析与挖掘》一3.2 低级绘图函数

3.2 低级绘图函数 R还可以通过函数在现有图形的基础上增加一些额外的内容,如添加标题.绘制坐标轴.在特定的位置增加图形(如辅助线,拟合线)或文字等.这些函数在R中称为低级作图命令(low-level plotting command). 3.2.1 标题 除了图形参数,许多高级函数(如plot.barplot.boxplot.qqnorm)也允许自行设定坐标轴和文本选项.以下代码在图形上添加了主标题(main).副标题(sub).坐标轴标签(xlab.ylab),结果如图3-9所示. > at

vc绘图工具、颜色和绘图函数

1.画笔 有两种形式创建画笔 一是直接通过GetStockObject()函数来调用 二是通过创建画笔来调用  HPEN CreatePen(  int fnPenStyle,    // pen style  int nWidth,        // pen width  COLORREF crColor   // pen color);  创建画笔后必须调用SelectObject函数来将起选入设备环境: 删除画笔可通过DeleteObject 函数来实现: 2.画刷 创建画刷 一是通过G

利用PHP绘图函数实现简单验证码功能的方法_php实例

index.php <?php //===================================>>使用绘图技术绘制验证码 //1.随机产生4个随机数 $checkCode=""; for ($i=0;$i<4;$i++){ $checkCode.=dechex(rand(1, 15));// decheck()十进制转换为十六进制,即验证码上要显示的数字 } //2.存入列 session_start(); $_SESSION['checkCode'

《R绘图系统(第2版)》一2.6 绘图函数的参数

2.6 绘图函数的参数 在通常情况下,特别是绘制用于发表出版的绘图时,通过简单调用一个高级绘图函数绘制的图像并不能够满足我们的所有需求.R提供了许多方式可以修改绘图函数的输出,并且本书第3章有关于这个话题的详细谈论.这一节仅仅探讨一下通过指定高级绘图函数的参数来改进输出图形的可能性. 对于给定的某个函数其大多数参数是特定的.例如,在boxplot()函数的所有参数中有两个参数:width 和 boxwex,用于控制图形中箱子的宽度,而在barplot()函数中有一个参数horiz,是用来控制是

一组JavaScript绘图函数

javascript|函数 <html><head><title>JavaScript绘图</title><script language="JavaScript">IE4 = ! (navigator.appVersion.charAt(0) < "4" || navigator.appName == "Netscape") var xo=0var yo=0var Ox = -1

API之绘图函数

AbortPath 抛弃选入指定设备场景中的所有路径.也取消目前正在进行的任何路径的创建工作 AngleArc 用一个连接弧画一条线 Arc 画一个圆弧 BeginPath 启动一个路径分支 CancelDC 取消另一个线程里的长时间绘图操作 Chord 画一个弦 CloseEnhMetaFile 关闭指定的增强型图元文件设备场景,并将新建的图元文件返回一个句柄 CloseFigure 描绘到一个路径时,关闭当前打开的图形 CloseMetaFile 关闭指定的图元文件设备场景,并向新建的图元文

【Visual C++】绘图函数BitBlt的使用方法

BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境. 原型:    BOOL BitBlt(     HDC  hdcDest,     int  nXDest,  int  nYDest,  int  nWidth,  int  nHeight,     HDC  hdcSrc,     int  nXSrc,  int  nYSrc,     DWORD  dwRop): 参数:     hdcDest:指向目标设备环境的句柄. nXD