He creado una forma personalizada, esencialmente es una colección de cuatro objetos Arc2D.Java - Rellenar una forma personalizada
Cuando se dibujan estos arcos forman lo que podría considerarse una forma de estrella de cuatro puntos redondeados, algo así como un trébol. Donde un arco termina, el otro comienza. Ellos forman un cuadrado en el centro. Así que imagínense, tomando un cuadrado y dibujando semicírculos en cada lado.
Puedo dibujar esta forma en un objeto Graphics2D, pero cuando la llene, solo llenará los arcos y no el cuadrado central. Llenar este cuadrado interno es mi problema.
He implementado el método getPathIterator()
, a continuación. También implementé los métodos . Pero todavía solo llenará los arcos.
Traté de agregar un Rectangle
. Al rellenar la forma, el rectángulo/cuadrado se rellenaría correctamente, sin embargo, también dibujaría el rectángulo, lo que obviamente debería esperarse, pero definitivamente no es el resultado deseado.
Entonces, ¿alguien tiene alguna idea sobre cómo "llenar" tal forma?
public PathIterator getPathIterator(AffineTransform at) {
GeneralPath gp = new GeneralPath
for (Arc2D arcs : this.arcs) {
gp.append(arc, false);
}
return gp.getPathIterator(at);
}
¿Cuál es el tipo de cierre de sus instancias 'Arc2D'? – trashgod