2010-03-31 3 views
3

Je travaille sur la création d'une application de base qui permettra à un utilisateur de dessiner (en utilisant une série de points) et je prévois de faire quelque chose avec ces points.Quel est l'équivalent de l'objet canvas de Java en C#?

Si c'était Java, je pense que j'utiliserais probablement un objet canvas et quelques appels Java2D pour dessiner ce que je veux.

Tous les tutoriels que j'ai lus sur C#/Drawing impliquent d'écrire votre propre méthode de peinture et de l'ajouter à l'événement paint pour le formulaire. Cependant, je suis intéressé à avoir des contrôles Formulaires traditionnels et je ne veux pas les dessiner. Alors, y a-t-il un objet "Canvas" où je peux contraindre ce sur quoi je dessine?

De plus, WinForms est-il un mauvais choix compte tenu de ce cas d'utilisation? Est-ce que WPF aurait plus de fonctionnalités qui me permettraient de faire ce que je veux? Ou Silverlight?

Répondre

0

Eh bien, il y a un 'canvas' dans WPF qui peut vous convenir. Si vous utilisez Windows Forms, je pense que le meilleur choix sera de dessiner sur un contrôle panel. Les formulaires Windows ne sont en aucun cas un mauvais choix. En effet, en les utilisant, vous pouvez même développer des applications multiplateformes. Cependant, WPF est plus «riche» d'une manière ou d'une autre. Je pense que si vous ne ciblez pas d'autres plates-formes et que vous n'avez pas besoin de vous en tenir à .NET 2.0 WPF est un choix préféré (surtout si vous utilisez des graphiques dans votre application, parce que WPF utilise l'accélération matérielle). Un bitmap fonctionne correctement, affichez-le avec la propriété PictureBox.Image.

2

Utilisez Graphics.FromImage() pour obtenir l'objet Graphics dont vous aurez besoin pour dessiner sur le bitmap. Utilisez PictureBox.Invalidate() pour indiquer au PB qu'il doit mettre à jour l'image à l'écran.

Questions connexes