Malen eine willkürliche Sammlung von Punkten schnellJava

Java-Forum
Anonymous
 Malen eine willkürliche Sammlung von Punkten schnell

Post by Anonymous »

Ich schreibe eine DARTS des gepufferten und berechnen Sie das "Segment", in dem es sich befindet. Ich wickle dies in ein Dartboardsegment ein, das im Grunde genommen nur eine Sammlung von Punkten mit einer kleinen Menge zusätzlicher Struktur ist (welche Zahl auf der Platine entspricht usw.). < /p>

derzeit, um das Dartboard tatsächlich zu rendern. Ich male jeden Punkt einzeln wie folgt: < /p>

Code: Select all

    for (Point pt : allPoints)
{
DartboardSegment segment = getSegmentForPoint(pt);
Color colour = DartboardUtil.getColourForSegment(segment);

int rgb = colour.getRGB();
int x = (int)pt.getX();
int y = (int)pt.getY();
dartboardImage.setRGB(x, y, rgb);
}
< /code>

Natürlich dauert dies einige Zeit. Es ist keine unerträgliche Menge (~ 2-3, um einen Bereich von 500 x 500 zu malen), aber ich möchte diese "Verzögerung" beseitigen, wenn ich kann. In anderen Bereichen meiner Anwendung habe ich alternative Methoden (z. B. Grafik.FillRect ()) gestoßen, die viel schneller sind. ) Methode in der Grafikklasse, aber ich glaube nicht, dass ich meine Segmente leicht in Polygone umwandeln kann, da ihre Formen variieren (z. B. die Form eines Dreifachs, ein Kreis für das Bullseye ...). Gibt es in Java einen schnelleren Weg, eine willkürliche Auswahl von Punkten gleichzeitig zu malen, anstatt sich einzeln durchzuschleiten und einzeln zu malen? < /p>

Der Code, den ich  will, ist so etwas wie: < /p>

    for (DartboardSegment segment : allSegments)
{
Color colour = DartboardUtil.getColourForSegment(segment);
Polgyon poly = segment.toPolygon();

Graphics gfx = dartboardImage.getGraphics();
gfx.setColor(colour);
gfx.fillPolygon(poly);
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post