查了下面的帮助信息,但是这个函数的前面和后面两个坐标分别是什么意思?没有看明白。
QPoint作为将要画的起始坐标,QRect设成源图片的大小。结果,图片没有显示出来。
void QPainter::drawPixmap ( const QPoint & point, const QPixmap & pixmap, const QRect & source )
This is an overloaded function.
Draws the rectangular portion source of the given pixmap with its origin at the given point.
请教,这个如何使用呢?
5 个解决方案
#1
试试只设前面两个参数,最后一个参数先不要设置先
如
drawPixmap(QPoint(100,100),pixmap) ;
如
drawPixmap(QPoint(100,100),pixmap) ;
#2
试了,结果是整个图片都显示了,不是只显示我想要的局部。
#3
QRectF pt(10.0, 20.0)//(10,20, 80.0, 60.0);
QRectF source(0.0, 0.0, 70.0, 40.0);
QPixmap pixmap(":myPixmap.png");
QPainter(this);
painter.drawPixmap(pt, image, source);
意思为:将pixmap上source矩阵里的像素,画到画布上的(10,20, 80.0, 60.0)矩阵里。
QRectF source(0.0, 0.0, 70.0, 40.0);
QPixmap pixmap(":myPixmap.png");
QPainter(this);
painter.drawPixmap(pt, image, source);
意思为:将pixmap上source矩阵里的像素,画到画布上的(10,20, 80.0, 60.0)矩阵里。
#4
对于不确定的函数,可以多做实验,看其效果,再结合函数帮助文档,理解函数的意思
#5
3楼的回复回事,登录了帐号也不让看?
#1
试试只设前面两个参数,最后一个参数先不要设置先
如
drawPixmap(QPoint(100,100),pixmap) ;
如
drawPixmap(QPoint(100,100),pixmap) ;
#2
试了,结果是整个图片都显示了,不是只显示我想要的局部。
#3
QRectF pt(10.0, 20.0)//(10,20, 80.0, 60.0);
QRectF source(0.0, 0.0, 70.0, 40.0);
QPixmap pixmap(":myPixmap.png");
QPainter(this);
painter.drawPixmap(pt, image, source);
意思为:将pixmap上source矩阵里的像素,画到画布上的(10,20, 80.0, 60.0)矩阵里。
QRectF source(0.0, 0.0, 70.0, 40.0);
QPixmap pixmap(":myPixmap.png");
QPainter(this);
painter.drawPixmap(pt, image, source);
意思为:将pixmap上source矩阵里的像素,画到画布上的(10,20, 80.0, 60.0)矩阵里。
#4
对于不确定的函数,可以多做实验,看其效果,再结合函数帮助文档,理解函数的意思
#5
3楼的回复回事,登录了帐号也不让看?