adocris
Messages postés12Date d'inscriptionlundi 15 mai 2006StatutMembreDernière intervention31 mai 2007
-
1 juil. 2006 à 02:04
adocris
Messages postés12Date d'inscriptionlundi 15 mai 2006StatutMembreDernière intervention31 mai 2007
-
7 juil. 2006 à 10:00
Bonjour à tous,
J’espère un peu d’aide de votre part, voici mon problème :
Je dois réaliser une petite interface pour mon forum favori (photos de microscopie)
Cette apli. doit aider les membres à poster leurs observations dans un format défini.
J’utilise la librairie FreeImage pour les redimensionnements et les export. en jpg
J’aimerais ajouter la possibilité de recadrer une image (recadrer, pas redimensionner) en utilisant la souris et en étirant un cadre sur la photo avec une proportion définie (1.33 x 1)
Comment dessiner et étirer ce cadre avec la souris directement sur la photo (dans un conteneur Image ou Pict.Box) ???
JB76000
Messages postés135Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention14 février 2013 3 juil. 2006 à 21:31
Autant pour moi, il s'agit bien de mousemove. En fait une combinaison. Ce que je te propose et que je viens de tester, c'est d'utiliser une image ou une picturebox (selon ton besoin) pour stocker ton image. C'est très fluide et ça marche impeccable.
Voici mon code, avec une image chargée dans image1 et une picturebox chargée au démarrage de l'application dans laquelle on place le contenu de image1. Si ton image est modifiée, il te faudra la stocker lors du mousedown dans une picture2, afin de pouvoir la rétablir à chaque mouvement de souris.
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If old_x "" Then old_x XIf old_y "" Then old_y Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button 1 Then Picture1.Picture Image1.Picture: Picture1.Line (old_x, old_y)-(X, Y), , B
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
old_x = ""
old_y = ""
OneHacker
Messages postés1447Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention23 septembre 20072 1 juil. 2006 à 12:50
Tu veux dire rétrécir, car cadrer c'est rétrécir. par contre je programme pas en VB6 donc pour le code je peux te donner du VB.Net si tu saurais le retranscrire.
JB76000
Messages postés135Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention14 février 2013 2 juil. 2006 à 16:14
utilises les variables x et y dans l'événement mousedown
ajoute 2 variables old_x et old_y
A chaque passage dans ta procédure, efface ton carré avec old_x et old_y et retrace avec x et y
adocris
Messages postés12Date d'inscriptionlundi 15 mai 2006StatutMembreDernière intervention31 mai 2007 2 juil. 2006 à 22:16
Merci pour vos réponses rapides !
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /?>
Redman :
Il s’agit bien de réaliser un re-cadrage, c.à.d utiliser une nouvelle portion de l’image (sans changer sa résolution)
Pour ceci j’aimerais réaliser un rectangle de sélection à la manière des prog. de dessin genre Paint ou Photoshop.
A propos de .net je viens d’installer 2005 express mais je n’y connais encore rien du tout !
Jer :
Je vois bien comment dessiner un rectangle à la souris sur l’image, mais comment l’effacer ???
En principe l’utilisateur click et relâche le bouton une fois le cadre tracé (mais le cadre doit être constamment redessiné)
Comment vois-tu la gestion de MouseDown, j’avais plutôt l’idée que c’est dans MouseMove que l’action se passerait ?
Au passage (c’est pas indispensable) Est-ce qu’il existe des contrôles (ocx ou autres) permettant d’utiliser un rect. de sélection avec poignée de redimensionnement ?
Merci d’avance pour le coup de main
Chris
Vous n’avez pas trouvé la réponse que vous recherchez ?