WPF Crop d'image [Résolu]

Messages postés
2
Date d'inscription
jeudi 28 décembre 2000
Dernière intervention
6 mai 2010
- - Dernière réponse : sfurmanek
Messages postés
2
Date d'inscription
jeudi 28 décembre 2000
Dernière intervention
6 mai 2010
- 28 avril 2010 à 10:17
Bonjour à tous,

Comment réaliser le crop d'une image en WPF. (Je suis débutant en WPF et je me n'arrive pas à obtenir le résultat)
Le brut est bien d'obtenir une image représentant le crop d'une autre image.

J'arrive à faire des clip sur l'image mais après comment redéfinir l'image pour qu'elle ne prenne en compte que le résultat de clip.

 //Create the image for clipping
                Image clipImage = new Image();
                clipImage.Width = 200;
                clipImage.Margin = new Thickness(5);

                
                BitmapImage bi = new BitmapImage();
                
                bi.BeginInit();
                bi.UriSource = new Uri(vignettesImageFile.FullName);
                bi.EndInit();
                clipImage.Source = bi;

                //Clip the using an EllipseGeometry
                EllipseGeometry clipGeometry = new EllipseGeometry(new Point(75, 50), 50, 25);
                clipImage.Clip = clipGeometry;
                clipImage.Stretch = System.Windows.Media.Stretch.Uniform;
                
             
                L_Images.Items.Add(clipImage);
            }


Qu'est ce que je dois ajouter après le clipImage.Clip pour que l'image que je vais passer à ma listbox soit le résultat du crop ?
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
2
Date d'inscription
jeudi 28 décembre 2000
Dernière intervention
6 mai 2010
3
Merci
Voici la réponse :


  DirectoryInfo vignettesImageDir = new DirectoryInfo(@"C:\FIAB");

            L_Images.Items.Clear();
            int i = 0;
            int j = 0;

            foreach (FileInfo vignettesImageFile in vignettesImageDir.GetFiles("*.jpg"))
            {
                // Create an Image element.
                Image chainImage = new Image();
                chainImage.Width = 50;
                chainImage.Margin = new Thickness(5);

                 BitmapImage bi = new BitmapImage();
                //BitmapImage.UriSource must be in a BeginInit/EndInit block
                bi.BeginInit();
                bi.UriSource = new Uri(vignettesImageFile.FullName);
                bi.EndInit();

                
                
                //BitmapImage.UriSource must be in a BeginInit/EndInit block
              
                //cb.UriSource = new Uri(vignettesImageFile.FullName);
                
                CroppedBitmap cb = new CroppedBitmap(bi,new Int32Rect(i,j , i+50, j+50));
                i = i + 200;
                j = i;        
                chainImage.Source = cb;
                L_Images.Items.Add(chainImage);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de sfurmanek

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.