如何在Dart中使用StageXL绘制虚线圆圈

时间:2014-03-28 19:44:54

标签: canvas dart stagexl

我正在尝试绘制带有虚线边框的圆圈。我试过这个:

Shape shape = new Shape()
..graphics.beginPath()
            ..graphics.circle( 50 , 50, 50 )
            ..graphics.closePath()
            ..graphics.strokePattern(new GraphicsPattern.repeat(new BitmapData.fromImageElement(new HTML.ImageElement(src: "img/dash.png"))))
            ..addTo(stage);
    }

但是圈子没有显示出来。似乎strokePattern行打破了我的代码。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我提出了这个解决方案。:

void _addDottedCircle(double x, double y, int radius) {
    List<double> xCoords = new List<double>();
    List<double> yCoords = new List<double>();

    for (int i = 0; i < radius; i++) {
        xCoords.add( radius * cos(2 * PI * i / radius) + x);
        yCoords.add( radius * sin(2 * PI * i / radius) + y);
    }

    for (int i = 0; i < radius; i++) {
        new Shape()
            ..graphics.beginPath()
            ..graphics.circle(xCoords[i], yCoords[i], 1)
            ..graphics.closePath()
            ..graphics.fillColor(lightgreen)
            ..addTo(stage);
    }
}