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 に答える