如何用直线控制曲线(用曲线直线一幅画简单)?如果你对这个不了解,来看看!
「Qt入门第14篇」 2D绘图(四)绘制路径,下面是QT教程给大家的分享,一起来看看。
如何用直线控制曲线
导语如果要绘制一个复杂的图形,尤其是要重复绘制这样的图形,那么可以使用QPainterPath类,然后使用QPainter::drawPath()来进行绘制。QPainterPath类为绘制操作提供了一个容器,可以用来创建图形并且重复使用。一个绘图路径就是由多个矩形、椭圆、线条或者曲线等组成的对象,一个路径可以是封闭的,例如矩形和椭圆;也可以是非封闭的,例如线条和曲线。
环境:Windows Xp + Qt 4.8.4+QtCreator 2.6.2
目录一、简单的使用路径二、复制图形三、绘制图形时的当前位置正文一、简单的使用路径
依然在前面的项目中进行讲解。更改paintEvent()函数如下:
void MainWindow::paintEvent(QPaintEvent *){ QPainterPath path; path.addEllipse(100, 100, 50, 50); path.lineTo(200, 200); QPainter painter(this); painter.setPen(Qt::blue); painter.setBrush(Qt::red); painter.drawPath(path);}当创建一个QPainterPath对象后,可以使用lineTo()、arcTo()、cubicTo()和quadTo()等函数将直线或者曲线添加到路径中。运行程序,效果如下图所示。
【领QT开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】
点击→领取「链接」
二、复制图形
如果只是简单的将几个图形拼接在一起,其实完全没有必要用路径,之所以要引入路径,就是因为它的一个非常有用的功能:复制图形路径。我们在painEvent()函数中继续添加下面几行代码:
QPainterPath path2;path2.addPath(path);path2.translate(100,0);painter.drawPath(path2);现在运行程序,效果如下图所示。
可以看到,对于已经绘制好的路径,可以非常简单的进行重复绘制。
三、绘制图形时的当前位置
1.我们先来看个例子,将paintEvent()函数更改如下:
void MainWindow::paintEvent(QPaintEvent *){ QPainterPath path; path.lineTo(100,100); path.lineTo(200,100); QPainter painter(this); painter.drawPath(path);}程序运行效果如下图所示。
可以看到,创建路径后,默认是从(0, 0)点开始绘制的,当绘制完第一条直线后当前位置是(100, 100)点,从这里开始绘制第二条直线。绘制完第二条直线后,当前位置是(200,100)。
2.再来看一个例子。将paintEvent()函数的内容更改如下:
void MainWindow::paintEvent(QPaintEvent *){ QPainterPath path; path.addRect(50, 50, 40, 40); path.lineTo(200, 200); QPainter painter(this); painter.drawPath(path);}运行程序,效果如下图所示。
可以发现,当绘制完矩形后,当前位置在矩形的左上角顶点,然后从这里开始绘制后面的直线。
4.我们也可以使用moveTo()函数来改变当前点的位置。例如将上面的代码更改为:
void MainWindow::paintEvent(QPaintEvent *){ QPainterPath path; path.addRect(50, 50, 40, 40); //移动到(100, 100)点 path.moveTo(100, 100); path.lineTo(200, 200); QPainter painter(this); painter.drawPath(path);}这样当绘制完矩形以后,就会移动到(100, 100)点进行后面的绘制。程序运行效果如下图所示。
结语这里只讲解了QPainterPath最基本的应用,使用好这个类可以绘制出很多特效图形。如果绘制的两个图形有交集,那么还要涉及到相交部分的填充规则问题,这部分内容可以参考《Qt Creator快速入门》第10章的相关内容。
用曲线直线一幅画简单
新手绘画线条练习。
上一篇的头像画法教程,很多宝宝嫌太难了,我今天再给大家讲一下新手怎么样去练习线条。
选一个用着顺手的自动铅笔,起型的时候要轻轻地虚虚地画。什么意思?就是不要用力,把笔尖轻轻搭在纸上就可以,轻重对比。
可以先以短的直线和曲线开始练习,但是注意一定要有规律,线条要根根分明,不能随意的涂蹭。
接下来就是练习几何图形,把你能想到的几何图形都去尝试画一下。因为我们之后画到的很多复杂的形状,它的基础型都是来源于最简单的这些几何图形。练习的时候不需要完全依赖尺7,圆规这样的作图工具,只需要大概的让它看起来规整就行。
接下来就是进一步的刻画和加深,和第一步的线条大差不差,但是有了更多的深浅变化,练习的时候控制好力度和方向,深浅变化,轻重,重点练习由深到浅,和由浅到深的线条。这个没有什么技巧,只有多加练习才能掌握的更加熟练。
短曲线练完练长曲线,不同的角度方向都可以练习一下。注意画的时候怎么样控制它的粗细。自动铅笔它的笔尖是有一个斜的角度,用平的那一面就画出来比较粗,尖的那一面就比较细,这个大家也可以多练习一下。勾线的技巧就是不要犹豫!看准了再画,不要再去反要的涂蹭。画一些没有用的废线,尽量的让你的画面看起来干净。当你想填充一块颜色的时候,不要去打圈然后乱画,尽量的去按照一个方向,均匀的力度画整齐的线条。可以斜画,竖画都行。未完待续···