tt dans le zip
Télécharger le zip
Merci mais là il me semble que le code est incomplet, tu n'aurais pas oublié de dessiner l'image sous la sélection !?
merci Lutinore pour ton commentairepour mon controle je veut que la selection soit visiblepeut etre oui j'ai fait base.OnPaint( e ); en commantaire par faute :( mais j'ai corrigé sa en principe ;)sinon c bon la source???ah j'ai oublié quand je passe on mode zoome il y a une faute car la dimention de l'image affiché n'est pas celle du pictureBox donc il faut a priori calculer les vrai dimentions de l'image j'ai pas resolus ce problème jusqu'a maintenant si tu as une idée merci
Salut, Mais pourquoi personne n'aime ControlPaint.DrawReversibleFrame ? :-)
bon coq pour drawReversibleFrame son inconvignant c que lorsqu'on dessine le rectangle de sélection il s'affiche sur l'écran donc s'il y a un control au dessus du pictureBox il va etre affecté par le rectangle de sélection et pas le pic en plus ce problème est plus grave si on veut rendre le rectangle persistant(ne pas l'éffacer dans le onMouseUp)sinon c plus simple ;)bien sure pour que le rectangle de sélection ne dépasse pas les limites du picturebox il faut bien gérer les rectangles.
Ca ne marche pas car "base.OnPaint( e );" est toujours en commentaire.
c'est bon j'ai modifié la source elle marche maintenant ;)
on ajoute cette méthode pour savoir les coordonnées des points extrèmes de l'image en mode zoome[code] /// <summary> /// donne les paramètres pour la position de l'image ;) /// </summary> /// <param name="pbox">PictureBox qui contient l'image</param> public void OffsetOfImage(PictureBox pbox) { // Calculer les taux d'étirement/compression de l'image float xRatio = 1F; float yRatio = 1F; if (pbox.SizeMode == PictureBoxSizeMode.Zoom) { float a = (float)pbox.Height / (float)pbox.Image.Height; float b = (float)pbox.Width / (float)pbox.Image.Width; xRatio = Math.Min(a, b); yRatio = xRatio; } //// Calculer la taille de l'image affichée Size imgs = new Size((int)(pbox.Image.Width * xRatio), (int)(pbox.Image.Height * yRatio));//calculer les différances entre l'image et le picturebox int diffx = (int)((pbox.Width - pbox.Image.Width * xRatio) / 2); int diffy = (int)((pbox.Height - pbox.Image.Height * yRatio) / 2); //min est le point minimum le plus haut à gauche de l'image min.X = diffx; min.Y = diffy;//max est le point le plus bax à droite de l'image max.X = (int)(diffx + imgs.Width); max.Y = (int)(diffy + imgs.Height); } [/code];)
Alors moi je recherche EXACTEMENT la même chose, mais sous vb... Quelqu'un peut m'aider ?
Colle le code du fichier Dash.cs là : http://tools.codes-sources.com/DotNetCodeConverter.aspx , ça devrait donner quelque chose qui ressemble à du VB.NET
Bonjour,J'aimerai votre aide sur le point suivant. J'ai suivi le conseil de Lutinore pour passer le code en vb mais j'ai le pb suivant :Quand je dessine un rectangle vers la droite et le bas, si la souris dépasse le contrôle, les pointillés du rectangle ne "s'arrêtent" pas aux limites du contrôle (que ce soit à droite ou à gauche). ça fonctionne sans problème pour les bords haut et gauche du contrôle.Je ne parviens pas à résoudre le pb sous vb alors qu'en c#, ça fonctionne très bien (Merci à vboussema). Pourriez-vous m'aider (1 journée et demie que je suis dessus.) ?Merci d'avance
Bonjour , merci pour ce jolie petit projet qui ma bien servi , mais j'ai encore un petiti problème je sui sdébutant en C# et j'aimerai introduire à la form principale un bouton qui permettra de changer l'image cadON selectionne la zone (le rectangle en pointié) On clique sur le bouton et la picturebox ici :dash1.Image = l'interieur de la zone sélectionné Mais je cale je ne sais pas comment récuperer ce qu'il y a dans le rectangle selectionnéEst ce que quelqu'un aurait une idée ça serai super aimable... !Merci d'avance Alex
public static Image Crop(Image image, Rectangle selection){ Bitmap bmp = image as Bitmap; // Check if it is a bitmap: if (bmp == null) throw new ArgumentException("No valid bitmap"); // Crop the image: Bitmap cropBmp = bmp.Clone(selection, bmp.PixelFormat); // Release the resources: image.Dispose(); return cropBmp;}cette méthode peut t'aider(http://www.codeproject.com/KB/graphics/CroppingImages.aspx)il suffit de l'appliquer avec :picturebox.image=crop(picturebox.image,rect);et c'est tout :)donc il suffit de faire clone sur l'image a partir du rectangle de sélection
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 692 membres 694 nouveaux aujourd'hui 15 441 membres club