cocos2d-x中DrawNode常见的图像绘制函数
//绘制矩形 (‘起始点’ , ‘目标点’ , ‘填充颜色’)
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常见的图像绘制函数的更多相关文章
- Quartz2D常见图形的绘制:线条、多边形、圆
UI高级 Quartz2D http://ios.itcast.cn iOS学院 掌握 drawRect:方法的使用 常见图形的绘制:线条.多边形.圆 绘图状态的设置:文字颜色.线宽等 图形上下文状 ...
- 学习PHP中好玩的Gmagick图像操作扩展的使用
在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...
- iOS开发中一些常见的并行处理
本文主要探讨一些常用多任务的最佳实践.包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运行态内存吃紧的情况下处理大文件的方案等.??其实编写异步处理的程序有很多坑!所以,本文 ...
- iOS开发中一些常见的并行处理(转)
本文主要探讨一些常用多任务的最佳实践.包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运行态内存吃紧的情况下处理大文件的方案等. 其实编写异步处理的程序有很多坑!所以,本文 ...
- iOS:quartz2D绘图(处理图像,绘制图像并添加水印)
绘制图像既可以重写drawRect:方法并在该方法中绘制,也可以不用重写该方法,它有封装好的函数获取自己的图像绘制上下文,即UIGraphicsBeginImageContext(CGSize siz ...
- DICOM中几个判断图像方向的tag
在DICOM标准里,有三个TAG与成像的方向相关. 参考来源:Kitware关于DICOM方向的说明 http://public.kitware.com/IGSTKWIKI/index.php/DIC ...
- Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结
matplotlib图像绘制 / matplotlib image description 目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...
- Opencv在视频中静态、动态方式绘制矩形框ROI
Opencv视频处理中的目标跟踪经常用到要在视频上画一个矩形框ROI,标注出要跟踪的物体,这里介绍两种在视频中绘制矩形框的方法,一种是"静态的",一种是"动态的" ...
- 从单一图像中提取文档图像:ICCV2019论文解读
从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...
随机推荐
- PushSharp的使用
PushSharp的使用 最近做公司的一个项目.一旦数据库插入新的消息,就要通知服务器,将这些新的消息推送给苹果客户端,以前我们的项目中有人做过这个功能,无奈做的有点复杂,而且代码没注释,我压根就没看 ...
- Varnish缓存服务
Varnish缓存服务详解及应用实现 1.varnish的基本介绍 Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已 ...
- jQuery手机对话框插件
最近,公司一直在做微网站之类的,一直在看别的微网站,发现一些对话框的样式很不错,所以自己就动手把样式剥离出来写成一个简单的插件,方便其他项目中使用到.废话不多说,上插件源码: /* *jQuery简单 ...
- 关于lower_bound的使用
突然发现lower_bound是一个挺好用的东西, 在学习最长不下降子序列的nlogn的算法的时候看到的,C++党写起二分来一行- -P党一排233 感觉如果到时候需要用上二分的话,能用lower_b ...
- DevExpress 学习使用之 ComboBoxEdit
往 StatusBar 上添加各种部件,似乎都被包装成了 barEditItem 的方式,其 Edit 属性就是具体的部件.以 ComboBoxEdit 为例,关于 ComboBoxEdit 的一些设 ...
- 公众平台Bee.WeiXin
微信公众平台Bee.WeiXin开发介绍 阅读目录 开始 预览 配置项说明 调用链方式的应答 理解调用链上下文 自定义MVC响应 总结 我们来看一下如何通过Bee.WeiXin开发微信公众平台.关于微 ...
- PL/SQL配置大小写转换等快捷键
Tools(工具) --> Preferences(首选项) --> Key Configuration(键配置) 然后修改自己需要的快捷键方式 作者:itmyhome
- ASP.NET MVC3开发 - CodeFisrt数据库篇之M层验证之调用远程方法(Remote)验证
本文讲述在作者在使用.net mvc3进行开发的时候用到的两种调用远程验证的方法,第一种方法比较傻瓜,第二种方法方便好用,调用远程验证是个比较常见的验证方法,比如注册用户时的用户名唯一性验证. 作者原 ...
- [iOS]封装单例类
[iOS]封装单例类 今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的:于是在想能否写个单例类对这些操作进行封(因以前一直在使用D ...
- .NET Mvc Razor
.NET Mvc Razor也可以这样玩! 忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技术是用来分享和学习的,对技术有不同的见解,大家都可以分享下,如果如下文章有问 ...