1

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

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 行破坏了我的代码。知道如何解决这个问题吗?

4

1 回答 1

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);
    }
}
于 2014-03-30T04:57:20.917 回答