8
votes

Qu'est-ce qu'un bon cadre graphique 2D, pour une application de dessin?

J'essaie de construire une application de dessin raster à l'aide de C # et je n'ai pas encore été en mesure de localiser un poids léger polyvalent Frameworks graphiques 2D ou des guides.

J'espérais que quelques-uns d'entre vous seraient capables de me donner une bonne tête de départ, car mes choix utilisent actuellement GDI + ou WPF et qui en est à peu près: (...

En gros, j'ai besoin de quelque chose de simple qui me fournira la possibilité de créer une toile, des couches, des brosses et la capacité d'importer / exporter toutes ces choses. J'ai examiné plusieurs applications graphiques pour voir comment ils ont mis en œuvre leurs outils et ont regardé en ligne pour des livres et sont sortis sans savoir où commencer.

merci, Andrew


1 commentaires

Je vois que vous avez mis à jour cela. Avez-vous eu la chance de regarder sdl.net? Y a-t-il d'autres fonctionnalités que vous recherchez? En ce qui concerne les préoccupations vacillantes que vous avez mentionnées auparavant, j'ai eu des visualisations de simulation de framérates maximales sans piratage pour le faire fonctionner.


6 Réponses :


4
votes

Eh bien, deux choses.

Un, vous pouvez regarder peinture.net . C'est un programme gratuit .NET pour travailler avec des graphismes 2D. Utilisation du modèle de plug-in, vous pourrez peut-être résoudre le problème sur lequel vous travaillez plus facilement.

Deuxièmement, une bonne bibliothèque graphique 2D est sdl.net . C'est un ensemble d'emballages OO pour la bibliothèque C SDL C et crée des images 2D assez facilement. Je ne sais pas si cela offrira une assistance à toutes les questions plus "manipulations" que vous avez, cependant.


0 commentaires

7
votes

Vous ne mentionnez pas si vous souhaitez créer un éditeur de vecteur ou un éditeur de raster. Je suppose que raster.

Si vous n'avez pas beaucoup d'expérience de l'API graphique et que vous voulez simplement obtenir quelque chose de travailler dès que possible, allez simplement avec GDI +. C'est beaucoup plus simple que WPF conceptuellement.

GDI + et WPF peuvent faire ce que vous voulez. Travailler avec WPF donnera probablement une meilleure performance car elle utilise direct-x pour l'accélération. Il utilise également un paradigme de scène stocké, qui peut rendre beaucoup d'opérations de dessin conceptuellement plus simples. La courbe d'apprentissage est beaucoup plus élevée que GDI +, cependant.

Vous pouvez toujours utiliser GDI Open-GL, Direct-X ou non gérés. Ils ont tous de bonnes performances 2D. Mais vous devrez passer des appels au code non géré.


2 commentaires

Merci, je voulais dire raster, j'ai mis à jour mon message en conséquence. J'ai un peu de temps à ce sujet, je suis en train de faire des recherches avant de plonger. J'ai déjà utilisé GDI +, et je devais pirater beaucoup de choses à se débarrasser de scintillement et de contrariété que cela posait alors j'ai peur de faire un application graphique sur le dessus de celui-ci.


Eh bien, je suppose que WPF ou GDI non gérés sont mes deux seuls choix merci :)



2
votes

Si vous essayez d'apprendre des graphiques 2D, WinForms est beaucoup plus facile à apprendre que WPF. Winforms prend en charge les brosses, les toiles, les formats graphiques multiples, l'importation de fichiers / l'exportation, etc.

Le Projet de code Site a de nombreux tutoriels graphiques WinForms, essayez de commencer ici .


1 commentaires

Dans les années que cette réponse a été postée, j'ai changé d'avis et recommandez maintenant WPF. Winforms est une impasse.



1
votes

Le cadre XNA est facile à utiliser et fonctionne bien car il est en réalité une enveloppe pour DirectX. Le grand avantage est que vous pouvez écrire tout votre code dans géré c #. Jetez un coup d'œil à Cet article sur le forum XNA pour voir comment vous pouvez lire Sortir l'affichage pour l'exportation.


0 commentaires

1
votes

Il existe également le cadre TAO, qui vous permet d'utiliser OpenGL ou SDL pour vos besoins de dessin. Il s'agit également d'un ensemble d'emballages OO autour de chacun. Il existe également de nombreux tutoriels sur Google pour commencer également.

TAO Cadre


0 commentaires

2
votes

piccolo 2d est une framework 2D GFX pour Java et C #. Libre, open-source. Fournit un graphe de scène, etc. zoomable. Semble bon.


1 commentaires

J'ai utilisé Piccolo dans un projet Java avec succès. La version .NET n'a pas été mise à jour depuis 2005, donc je cherche quelque chose de similaire à intégrer dans une application WPF.