2010-02-04 16 views
5

Sto cercando una classe Drawing (Package) che mi consenta in un modo semplice di disegnare immagini come le seguenti.Disegno con .NET

alt text http://www.freeimagehosting.net/uploads/e96ab74410.jpg

non ho alcuna esperienza con il disegno così sarò contento di sentire i suggerimenti.

My pic link

+0

a giudicare dal rifiuto di GDI +, intendi una libreria di disegno CAD? – Jimmy

+0

si Sembra interessante mi può suggerire qualcosa –

+0

Come ho pensato, sono davvero interessato a qualcosa di interattivo –

risposta

5

Date un'occhiata ai GDI + classi del System.Drawing namespace.

Modifica: Non sono davvero sicuro di cosa intendi quando continui a chiedere più librerie astratte. In che modo queste classi non sono abbastanza astratte? Graphics.DrawLine(), Graphics.FillEllipse() e così via.

A meno che non si stia cercando di fare qualcosa di specifico, come ad esempio la creazione di grafici, non c'è altra astrazione su questo. Vuoi disegnare linee, poligoni, rettangoli ecc., Vero?

Puoi spiegare che astrazione vorresti? Nello pseudo codice?

+0

GDI + è troppo abbinato alla leva bassa come ho capito. Sto cercando qualcosa di più astratto. –

+0

Non è * quello * basso livello. Hai controllato le lezioni nel link che ti ho mandato? Soprattutto la classe 'Graphics', che contiene metodi come' DrawEllipse() ',' DrawPolygon() ',' DrawLine() ',' FillRectangle() 'ecc. Quanto più alto livello vuoi? 'DrawNicePicture()'? –

0

GDI + è sicuramente un buon modo per andare. A seconda dei vincoli dell'applicazione, è possibile visualizzare WPF e Silverlight (rispettivamente per Windows/Web) poiché è possibile eseguire solo disegni e animazioni complicati in XAML.

0

GDI + è sicuramente la scelta giusta, l'altra opzione è Direct3D o OpenGL. Dal momento che hai rifiutato GDI +, elimina anche le idee Direct3D e OpenGL.

GDI + è piuttosto astratto ed è semplicissimo da configurare e, una volta abituati al modo in cui disegni con la lib, troverai che è abbastanza semplice.

+0

Sto cercando alcune librerie astratte, non voglio iniziare a disegnare con i caratteri simili a GDI +. –

0

Vai a Paint.NET 3.5 e scarica il codice sorgente, gioca con esso e probabilmente avrai una buona presa di quello che vuoi.

+0

Il codice sorgente per Paint.NET 3.5 è ** non ** fornito, ma il codice sorgente per le versioni precedenti di Paint.NET può essere trovato altrove. Vedi per es. http://stackoverflow.com/questions/9603/what-is-some-great-source-code-to-read/9663#9663 –

0

Se non è necessaria l'interazione dell'utente per il disegno e si stanno creando le immagini direttamente tramite codice ottenendo le informazioni geometriche da una fonte diversa rispetto a quella che si potrebbe considerare di creare file SVG e visualizzarli.

Io uso questo approccio per un progetto corrente in cui voglio mostrare la topologia di un edificio. Ottengo la geometria da Autodesk Revit tramite l'API e successivamente creo la mappa della topologia in svg. Poiché svg è xml è facile da manipolare. Poiché è basato sul vettore, non ci sono limiti a ciò che puoi ottenere. BTW Inkskape è un editor di grafica vettoriale open source che potrebbe aiutarti a scoprire come rappresentare i pensieri più complessi in SVG.

Solo il mio due cent :-)