//绘制矩形  (‘起始点’ , ‘目标点’ , ‘填充颜色’)

auto rect=DrawNode::create();

rect->drawRect(Vec2(0,0),Vec2(100,150), Color4F(1.0,0,0,1.0));

this->addChild(rect);

//绘制指定曲率的曲线  ('点数组','张力','段落','颜色')

//参数说明:

//congfig:点数组

//tension:张力

//segments:段落

//color:颜色

auto cardinalspline=DrawNode::create();

auto array = PointArray::create(4);

array->addControlPoint(Vec2(20, 20));

array->addControlPoint(Vec2(40, 10));

array->addControlPoint(Vec2(-10, 10));

array->addControlPoint(Vec2(60, -10));

array->addControlPoint(Vec2(10, 50));

cardinalspline->drawCardinalSpline(array, 3, 10, Color4F(1.0,1.0,1.0,1));

this->addChild(cardinalspline);

//绘制默认曲率的曲线

auto cat=DrawNode::create();

cat->drawCatmullRom(array, 20, Color4F(1.0, 1.0, 1.0, 1.0));

this->addChild(cat);

//绘制圆  参数说明: (‘原点’,‘半径’,‘弧度’,‘分段(越大越接近圆)’,‘原点到弧度的线(bool)’,‘线条x缩放’,‘线条y缩放’,‘颜色’)

auto circle=DrawNode::create();

circle->drawCircle(Vec2(0, 0), 100, 45, 100, false, 1.0, 1.0, Color4F(1.0,1.0,1.0,1));

this->addChild(circle);

//绘制线段          (‘起点’ , ‘终点’ , ‘半线宽’ , ‘填充颜色’)

auto segment=DrawNode::create();

segment->drawSegment(Vec2(0, 0), Vec2(20, 20), 3.0, Color4F(0.4,0.6,0.8,1));

this->addChild(segment);

//绘制三角形         (‘顶点1′ , ‘顶点2′ , ‘顶点3′ , ‘填充颜色’)

auto triangle=DrawNode::create();

triangle->drawTriangle(Vec2(20,11), Vec2(133,44), Vec2(44,133), Color4F(0.5,0.6,0.7,1));

this->addChild(triangle);

//绘制多边形        (‘顶点数组’ , ‘顶点个数’ , ‘填充颜色’ , ‘轮廓粗细’ , ‘轮廓颜色’)

auto polygon=DrawNode::create();

Vec2 verts[]={Vec2(12,22),Vec2(56,66),Vec2(88,98),Vec2(124,54),Vec2(144,88)};//顶点数组

polygon->drawPolygon(verts, 5, Color4F(1.0,0,0,1), 2, Color4F(0,0,1.0,1));

this->addChild(polygon);

//绘制二次贝塞尔图形        (‘起点’ , ‘控制点’ , ‘终点’ , ‘分段数’ , ‘填充颜色’)

auto quad=DrawNode::create();

quad->drawQuadBezier(Vec2(12,10), Vec2(22,33), Vec2(111,111), 20, Color4F(0.1,1.0,0.2,1));

this->addChild(quad);

//绘制三次贝塞尔图形    (‘起点’ , ‘控制点1′ , ‘控制点2′ , ‘终点’ , ‘分段数’ , ‘填充颜色’)

auto cubic=DrawNode::create();

cubic->drawCubicBezier(Vec2(0,0), Vec2(33,23), Vec2(75,96), Vec2(44,33), 22, Color4F(0.7,0,0,1));

this->addChild(cubic);

//绘制线段  ('起点','终点','宽度','颜色')

auto dsegment=DrawNode::create();

dsegment->drawSegment(Vec2(20, 22), Vec2(20,100), 2, Color4F(1.0,0.1,0.8,1));

this->addChild(dsegment);

//绘制线   ('起点','终点','颜色')

auto line=DrawNode::create();

line->drawLine(Vec2(33,33), Vec2(222,222), Color4F(1.0,1.0,0.2,1));

this->addChild(line);

//绘制圆点      (‘位置’ , ‘圆点半径’ , ‘填充颜色’)

auto dot=DrawNode::create();

dot->drawDot(Vec2(0,0), 5, Color4F(1.0, 1.0, 1.0, 1.0));

rect->addChild(dot);

//设置坐标位置

rect->setPosition(visibleSize/2);//设置矩形位置居中

dot->setPosition(Vec2(0, 0));//设置圆点的位置

cardinalspline->setPosition(visibleSize/2);//设置曲线位置

circle->setPosition(visibleSize/2);

segment->setPosition(visibleSize/2);

triangle->setPosition(visibleSize/2);

polygon->setPosition(visibleSize/5);

quad->setPosition(Vec2(230,20));

cubic->setPosition(visibleSize/2);

dsegment->setPosition(Vec2(22,22));

line->setPosition(Vec2(44,22));

cat->setPosition(Vec2( visibleSize.width/2+50,visibleSize.height/2+20));

cocos2d-x中DrawNode常见的图像绘制函数的更多相关文章

  1. Quartz2D常见图形的绘制:线条、多边形、圆

    UI高级 Quartz2D http://ios.itcast.cn  iOS学院 掌握 drawRect:方法的使用 常见图形的绘制:线条.多边形.圆 绘图状态的设置:文字颜色.线宽等 图形上下文状 ...

  2. 学习PHP中好玩的Gmagick图像操作扩展的使用

    在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...

  3. iOS开发中一些常见的并行处理

    本文主要探讨一些常用多任务的最佳实践.包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运行态内存吃紧的情况下处理大文件的方案等.??其实编写异步处理的程序有很多坑!所以,本文 ...

  4. iOS开发中一些常见的并行处理(转)

    本文主要探讨一些常用多任务的最佳实践.包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运行态内存吃紧的情况下处理大文件的方案等.

其实编写异步处理的程序有很多坑!所以,本文 ...

  5. iOS:quartz2D绘图(处理图像,绘制图像并添加水印)

    绘制图像既可以重写drawRect:方法并在该方法中绘制,也可以不用重写该方法,它有封装好的函数获取自己的图像绘制上下文,即UIGraphicsBeginImageContext(CGSize siz ...

  6. DICOM中几个判断图像方向的tag

    在DICOM标准里,有三个TAG与成像的方向相关. 参考来源:Kitware关于DICOM方向的说明 http://public.kitware.com/IGSTKWIKI/index.php/DIC ...

  7. Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结

    matplotlib图像绘制 / matplotlib image description  目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...

  8. Opencv在视频中静态、动态方式绘制矩形框ROI

    Opencv视频处理中的目标跟踪经常用到要在视频上画一个矩形框ROI,标注出要跟踪的物体,这里介绍两种在视频中绘制矩形框的方法,一种是"静态的",一种是"动态的" ...

  9. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

随机推荐

  1. 处理动态SQL语句的参数

    原文:处理动态SQL语句的参数 经常对SQL进行开发,写动态的SQL语句,是少之不了的,但是在使用动态语句中,常是因为有动态的参数的出现.参考下面代码示例: 正因为有了标记1的动态条件代码,而让SQL ...

  2. 解决:错误的语法:”XXXX“必须是批处理中仅有的语句

    原文:解决:错误的语法:”XXXX“必须是批处理中仅有的语句   SQL Server 数据库提示“错误的语法:”XXXX“必须是批处理中仅有的语句”报错的原因分析 解析:批处理必须以 CREATE ...

  3. Nexus入门指南(图文)

    Nexus入门指南(图文) 博客分类: Maven JavamavenGoogleApacheTomcat Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven ...

  4. IP地址规划和设计方法

    IP地址规划和设计方法 无类域间路由技术需要在提高 IP 地址利用率和减少主干路由器负荷两个方面取得平衡 网络地址转换 NAT 最主要的应用是专用网,虚拟专用网,以及 ISP 为拨号用户 提供的服务 ...

  5. AngularJS and Asp.net MVC

    AngularJS 初印象------对比 Asp.net MVC 之前就早耳闻前端MVC的一些框架,微软自家的Knockout.js,google家的AngularJs,还有Backone.但未曾了 ...

  6. 利用自定义的AuthenticationFilter实现Basic认证

    [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证   很多情况下目标Action方法都要求在一个安全上下文中被执行,这里所谓的安全上下文主要指的是当前 ...

  7. JS数量输入控件

    JS数量输入控件 很早看到kissy首页 有数量输入控件,就随便看了下功能 感觉也不怎么难 所以也就试着自己也做了一个, 当然基本的功能和他们的一样,只是用了自己的编码思想来解决这么一个问题.特此给大 ...

  8. GMap.Net

    GMap.Net开发之在WinForm和WPF中使用GMap.Net地图插件   GMap.NET是什么? 来看看它的官方说明:GMap.NET is great and Powerful, Free ...

  9. How To Configure Logging And Log Rotation In Apache On An Ubuntu VPS

    Introduction The Apache web server can be configured to give the server administrator important info ...

  10. [原]iOS Makefile Template

    export DEVELOPER_DIR := $(shell xcode-select --print-path) PLATFORM="$(DEVELOPER_DIR)/Platforms ...