zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt之图形(简笔画-绘制卡通蚂蚁)

Qt 绘制 图形 蚂蚁
2023-09-11 14:19:16 时间

关于简笔画的介绍很多,有动物、水果、蔬菜、交通工具等,通常会对绘制一步步进行拆分、组合。然后绘制为我们想要的结果。

下面来介绍另外的一个种类:昆虫类-卡通蚂蚁。


注意:绘制的时候,由于各个部分的颜色不同,而且坐标不好定位,所以我们采用的图形覆盖的方式。

void MainWindow::paintEvent(QPaintEvent *)

 QPainter painter(this);

 painter.setRenderHint(QPainter :: Antialiasing, true);

 /*****屁股*****/

 QPainterPath path;

 path.addRoundRect(QRect(200, 60, 150, 150), 1000);

 painter.setBrush(Qt::white);

 painter.setPen(Qt::black);

 painter.drawPath(path);

 /*****肚子*****/

 // 腿

 path = QPainterPath();

 path.moveTo(170, 180);

 path.lineTo(120, 260);

 path.moveTo(185, 180);

 path.lineTo(145, 280);

 path.moveTo(200, 180);

 path.lineTo(180, 290);

 path.moveTo(200, 180);

 path.lineTo(220, 290);

 path.moveTo(215, 180);

 path.lineTo(250, 280);

 path.moveTo(230, 180);

 path.lineTo(280, 260);

 painter.setBrush(Qt::NoBrush);

 painter.setPen(Qt::white);

 painter.drawPath(path);

 // 肚子

 path = QPainterPath();

 path.addRoundRect(QRect(150, 130, 100, 100), 1000);

 painter.setBrush(Qt::white);

 painter.setPen(Qt::black);

 painter.drawPath(path);

 /*****头*****/

 // 犄角

 path = QPainterPath();

 path.moveTo(80, 100);

 path.lineTo(60, 20);

 path.moveTo(140, 100);

 path.lineTo(160, 20);

 painter.setBrush(Qt::NoBrush);

 painter.setPen(Qt::white);

 painter.drawPath(path);

 path = QPainterPath();

 path.addRoundRect(QRect(50, 80, 120, 120), 1000);

 painter.setBrush(Qt::white);

 painter.setPen(Qt::black);

 painter.drawPath(path);

 // 左眼

 path = QPainterPath();

 path.addRoundRect(QRect(70, 120, 25, 25), 1000);

 painter.setBrush(Qt::black);

 painter.setPen(Qt::NoPen);

 painter.drawPath(path);

 path = QPainterPath();

 path.addRoundRect(QRect(75, 126, 10, 10), 1000);

 painter.setBrush(Qt::white);

 painter.setPen(Qt::NoPen);

 painter.drawPath(path);

 // 右眼

 path = QPainterPath();

 path.addRoundRect(QRect(120, 110, 25, 25), 1000);

 painter.setBrush(Qt::black);

 painter.setPen(Qt::NoPen);

 painter.drawPath(path);

 path = QPainterPath();

 path.addRoundRect(QRect(125, 118, 10, 10), 1000);

 painter.setBrush(Qt::white);

 painter.setPen(Qt::NoPen);

 painter.drawPath(path);

 // 嘴

 path = QPainterPath();

 path.moveTo(160, 108);

 path.arcTo(QRect(130, 48, 60, 60), 270, 100);

 painter.rotate(30);

 painter.setBrush(Qt::NoBrush);

 painter.setPen(Qt::black);

 painter.drawPath(path);

}

对于一般图形的绘制比较简单,因为常用、有规律,而且比较规则,像圆、椭圆、矩形、直线这些。如果存在各种复杂的图形那么用原生的绘制方案就很难实现了,需要消耗大量的时间来回折腾,所以这里就不再介绍了。


【OpenVI】老片图像上色,一键开源体验 随着摄影技术的演进,彩色照片在现在已经非常普及,但仍然有大量历史黑白照片遗留。图像上色可以对这些宝贵的旧时代遗产进行修复,令老照片重获新生。
教你如何用Canvas绘制整身的哆啦A梦 教你如何用Canvas绘制整身的哆啦A梦 上牌你文章我们说到了如何使用canvas绘制哆啦A梦,但当时只是绘制了哆啦A梦的头部,之后有学员留言说可不可以教大家绘制整身的哆啦A梦,想了想,决定安排一下。如图: 在这里插入图片描述 HTML代码: canvas id= my_canvas /canvas canvas id= my_canvas2 /canvas 1 2 CSS代码: * { margin: 0; } #my_canvas {
教你如何利用canvas画布绘制哆啦A梦 订阅专栏 教你如何利用canvas画布绘制哆啦A梦 最近一直在练习使用canvas画布标签,今天教大家如何使用canvas画布绘制哆啦A梦。如图:
海龟绘图简单科普 著名人物爱因斯坦曾说过,兴趣是最好的老师,句话在编程方面也同样适用。大部分人如果没有所谓的情节、入门、回报的话。相对于python,很多人对这一方面都是不感冒的,更不要谈一开始就要去背某些命令、函数之类的。
我绘制文章插图的三个神级工具 今天来给大家介绍三个我在制作文章插图时经常使用的堪称神级的工具,每一个工具都可以绘制非常精美图片,对于经常输出文章的朋友来说,绝对不容错过~
分别用 VTK 体绘制和面绘制来实现医学图像三维重建 序言,VTK介绍: VTK 全称为 The Visualization Toolkit (可视化工具),是一个开源、跨平台、自由获取、支持并行计算的图形应用函数;拥有3D 渲染的最新工具、提供3D交互模式以及2D绘图等。