2009-04-04 6 views
6

J'essaie d'écrire un éditeur de photo très simple en utilisant C# 2008 ou QT4.Comment faire un outil de sélection de rectangle redimensionnable?

Comment faire un outil de sélection de rectangle redimensionnable comme le photoshop l'a fait?

+0

Pouvez-vous expliquer un peu * comment * Photoshop fait? Je suppose que certains d'entre nous ici ne sont pas des utilisateurs réguliers de Photoshop. – dommer

+0

C'est un rectangle de sélection redimensionnable avec des bordures de style pointillé. Les points sur les frontières ont un effet de marque. – xpol

Répondre

2

Je ne sais pas les appels spécifiques, mais l'idée est la suivante:

Vous voulez dessiner un rectangle transparent avec une bordure opaque ou en pointillés. Le rectangle apparaît lorsque le bouton de la souris est cliqué. Tant que le bouton est maintenu, la dimension du rectangle change au fur et à mesure que la souris se déplace, le point en haut à gauche à l'endroit où le bouton a été cliqué et le coin inférieur droit suivant la souris au cours du déplacement. En relâchant le bouton, le rectangle fixe sa position sur la zone de sélection.

Vous devriez être capable de comprendre les détails d'une ressource sur l'espace de noms C# Drawing.

3

WPF Exemple de code: http://www.codeproject.com/KB/WPF/wpfmarchingants.aspx?display=Print

Celui-ci est un peu plus compliqué car il implique le recadrage d'image, mais si vous faites défiler vers le bas du rectangle de sélection, vous pouvez voir les formules de base pour le calcul du rectangle: http://69.10.233.10/KB/WPF/ImageCropper.aspx

Enfin, un autre à l'aide GDI: http://codelog.blogial.com/2008/10/31/rubber-band-selection-rectangle-in-c/

Si vous fournissez plus de détails, je suis sûr que nous pouvons vous aider à en savoir plus.

Questions connexes