Domanda

Nella mia applicazione WPF che sto lavorando su un meccanismo di disegno per fare annotazioni sulla parte superiore delle immagini. Per ora ho la funzionalità per disegnare tracciati dove il mio percorso disegnato consisterà dei punti raccolti da disegno. Più da vicino Sto aggiungendo StylusPoints a un InkPresenter come li raccolgo attraverso l'evento MouseMoved. L'InkPresenter è impostato come bambino ad una tela, che poi è quello che conterrà i disegni. Potrei anche disegnare un segmento in un percorso, se questo è diverso?

Il mio problema con questo disegno è che non sarà liscio. Pertanto Vorrei la curva risultante di essere rappresentato come una curva di Bezier. Questa è una tecnica utilizzata per esempio in Adobe Illustrator. Adesso; c'è un modo per gestire questa situazione? Per costruire prima una raccolta di punti che rappresenta la curva irregolare disegnato, e poi trasformare questo per una curva di Bezier che ricorda la curva trarre?

È stato utile?

Soluzione

Se si vuole montare una curva ad un insieme di punti, pensare spline (di cui Bezier è un sottoinsieme).

Ecco un PDF su come montare un Bezier a quattro punti , facilmente esteso a n. Questo è venuto dalla tana del guru di Don Lancaster, che ha una grande serie di tutorial su Beziers .

Altri suggerimenti

Charles Petzold ha un CanonicalSpline classe nel codice di esempio per la sua Grafico linea con l'articolo modelli di dati in MSDN Magazine.

Codice di esempio

Il metodo fondamentale della classe crea una PathGeometry da un insieme di punti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top