function fiveshi(x,y,color){    var dx = x;//画出来的五角星x偏移位置
    var dy = y;//画出来的五角星y偏移位置
    var s = 10;//画出来的五角星的大小
    context.beginPath();//开始路径绘制
    context.fillStyle=(color);
    var xx = Math.sin(0);//默认的x坐标
    var yy = Math.cos(0);//默认的y坐标
    var dig = Math.PI/5*4;//弧度值    for(var i=0;i<5;i++){
        var xx = Math.sin(i*dig);
        var yy = Math.cos(i*dig);
        context.lineTo(dx+xx*s,dy+yy*s);//划线
    }
    context.fill();
    context.closePath();//结束路径    context.stroke();
}

解决方案 »

  1.   

    const int pNum=5;//顶点数
    CPoint pointS[pNum];//顶点
    CString strTemp; for (int i=0;i<pNum;i++)
    {//计算顶点坐标
    pointS[i].x=m_ZeroPoint.x+m_halfLen*cos((90+i*360/pNum)*PI/180); 
    pointS[i].y=m_ZeroPoint.y-m_halfLen*sin((90+i*360/pNum)*PI/180);
    } for (i=0;i<pNum;i++)
    {
    strTemp.Format("%d",i);//打印顶点编号 if (pNum%2==0)
    {
    pDC->MoveTo(pointS[(i+pNum/2-1)%pNum]);
    pDC->LineTo(pointS[i]);
    pDC->MoveTo(pointS[(i+pNum/2+1)%pNum]);
    }
    else
    {
    pDC->MoveTo(pointS[(i+pNum/2)%pNum]);
    pDC->LineTo(pointS[i]);
    pDC->MoveTo(pointS[(i+pNum/2+1)%pNum]);
    } }