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

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. NHibernate 数据查询之QueryOver<T>

    NHibernate 数据查询之QueryOver<T>   一.限制运算符 Where:筛选序列中的项目WhereNot:反筛选序列中的项目 二.投影运算符 Select:创建部分序列的 ...

  2. 创建自己的github代码库

    前提: 1.安装git 2.在github上创建一个repository(库),如名字叫Hello-World,则git地址为https://github.com/username/Hello-Wor ...

  3. ACE编译运行错误解决

    使用VS2010编译运行ACE版本号为6.0.1 按照网上步骤添加config.h,在ACE_wrappers/ace目录下 ,新建 config.h 文件加入以下内容: #include " ...

  4. Model Binding To A List

    [文章来源see here] Using the DefaultModelBinder in ASP.NET MVC, you can bind submitted form values to ar ...

  5. [转]解决MySQL出现大量unauthenticated user的问题

    最近发现两台MySQL server在中午的时候忽然(很突然的那种)发飙,不断的挂掉.重启mysql也尽是失败,看mysql的errorlog,只能看到类似如下的信息: Forcing close o ...

  6. .NET中操作IPicture、IPictureDisp

    .NET中操作IPicture.IPictureDisp的小随笔   [题外话] 最近在做一个调用某实验仪器的程序,这个仪器提供了Windows上COM的接口.调用仪器的时候需要传输图片,提供的接口里 ...

  7. IOS7学习之路八(iOS 禁止屏幕旋转的方法)

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { retu ...

  8. Asp.net MVC3 中,动态添加filter

    Asp.net MVC3 中,动态添加filter filter是attribute,不支持泛型,传入的参数必须是固定的值.总之很受attribute本身的限制. 发现一篇老外的文章,动态设置filt ...

  9. 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 四 档案的文件系统的压缩和打包

    1.压缩文件案的用途与技术     a.用途,简单来说,就是节约磁盘空间.如果从传输角度讲,占用宽带也会小很多(Apache就有自动压缩的功能,节省宽带资源,提升网站的输出能力)     b.压缩技术 ...

  10. ASP.NET MVC:会导致锁定的会话

    ASP.NET MVC:会导致锁定的会话 背景 一直没有意识到会话的访问会导致会话锁定,现在想想这样设计是非常合理的,不过某些情况下这样会导致同一个会话的并发访问非常低(只能串行化),好在MS提供了机 ...