代码绘制六角形
2020-02-06 07:27
351 查看
绘制一个多角形
在as中实现:
public static function drawStart(g:Graphics,num:uint,r:Number,
fillColor:uint = 0xFF0000):void{
var points:Array = [];
var perAngle:Number = 180 / num;
for(var i:int = 0;i<num*2;i++){
if(i % 2){
points.push(PointUtil.getPolarPoint(perAngle*i,r/2));
}else{
points.push(PointUtil.getPolarPoint(perAngle*i,r));
}
}
g.clear();
g.beginFill(fillColor,1);
g.moveTo(points[0].x,points[0].y);
for(var i:int = 1;i<points.length;i++){
g.lineTo(points[i].x,points[i].y);
}
g.lineTo(points[0].x,points[0].y);
g.endFill();
}
[/code]
在js中实现:
//简单模拟jquery的$函数
function $(documentId){
return document.getElementById(documentId);
};
function getPoint(angle,l){
var radians = angle * Math.PI / 180;
var x,y;
x = l * Math.cos(radians);
y = l * Math.sin(radians);
return {
x : x,
y : y
};
};
/** 绘制星星
* @param cId the canvas id
* @param num 外顶点数目
* @param r 半径长度
* @param fillcolor 填充颜色
**/
function drawStart (cId,num,r,fillcolor) {
var c = $(cId);
var ctx = c.getContext("2d");
var points = [],perAngle = 180 / num;
for(var i = 0;i<num*2;i++){
if (i % 2) {
points.push(getPoint(perAngle * i,r/2));
} else{
points.push(getPoint(perAngle * i,r));
};
};
ctx.beginPath();
ctx.strokeStyle = 0;
ctx.fillStyle = fillcolor;
ctx.moveTo(points[0].x + offsetX,points[0].y + offsetY);
for(var j = 1;j<points.length;j++){
ctx.lineTo(points[j].x + offsetX,points[j].y + offsetY);
}
ctx.lineTo(points[0].x + offsetX,points[0].y + offsetY);
ctx.closePath();
ctx.stroke();
ctx.fill();
};
var offsetX = 40;
var offsetY = 40;
drawStart("canvas",6,15,"#ff0000");
[/code]
转载于:https://www.cnblogs.com/muzizone/p/4686381.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 代码绘制六角形
- 代码绘制六角形
- css3绘制天猫logo实现代码
- Android绘制验证码的实例代码
- python的pyecharts绘制各种图表详细(附代码)
- 【OpenGL学习代码笔记之二】 三维空间中点的绘制
- 用Python绘制个花朵代码示例
- HTML5 Canvas 绘制树 【每日一段代码38】
- [置顶]OpenGL11-绘制汉字最高效方法(使用Freetype)(代码已更新)
- 使用pyplot绘制sqrt以及x平方实例代码
- Python实现七彩蟒蛇绘制实例代码
- 双缓冲绘图和窗口控件的绘制——ATL ActiveX 窗口控件生成向导绘制代码OnDraw的一个错误 .
- 一段在jcomponent上绘制矩形框的代码,很不错的代码。
- Andriod 中通过SurfaceView来绘制图形 标准的代码流程,很值得一看
- Python绘制3d螺旋曲线图实例代码
- Canvas绘制重叠矩形【每日一段代码6】
- python中Matplotlib实现绘制3D图的示例代码
- Echarts2绘制动态曲线图并给出完整代码
- Canvas绘制路径:贝塞尔曲线【每日一段代码12】
- 纯代码实现绘制文本