Ho creato una forma personalizzata, essenzialmente si tratta di una raccolta di quattro oggetti Arc2D.Java - Riempimento di una forma personalizzata
Quando questi archi vengono disegnati formano ciò che potrebbe essere considerato una forma a stella arrotondata a quattro punte, un po 'come un trifoglio. Dove finisce un arco, inizia l'altro. Formano un quadrato al centro. Quindi immagina, prendendo un quadrato e disegnando semicerchi su ogni lato.
Posso disegnare questa forma su un oggetto Graphics2D, ma quando lo riempio, riempirà solo gli archi e non il quadrato centrale. Riempire questo quadrato interno è un mio problema.
Ho implementato il metodo getPathIterator()
, di seguito. Ho implementato anche i metodi . Ma riempirà solo gli archi.
Ho provato ad aggiungere un Rectangle
. Quando si riempie la forma, il rettangolo/quadrato sarà riempito correttamente, tuttavia disegna anche il rettangolo, che ovviamente dovrebbe essere previsto, ma sicuramente non il risultato desiderato.
Quindi, qualcuno ha qualche idea su come "riempire" una tale forma?
public PathIterator getPathIterator(AffineTransform at) {
GeneralPath gp = new GeneralPath
for (Arc2D arcs : this.arcs) {
gp.append(arc, false);
}
return gp.getPathIterator(at);
}
Qual è il tipo di chiusura delle vostre istanze 'Arc2D'? – trashgod