WPF Crop d'image [Résolu]

Messages postés
2
Date d'inscription
jeudi 28 décembre 2000
Statut
Membre
Dernière intervention
6 mai 2010
- - Dernière réponse : sfurmanek
Messages postés
2
Date d'inscription
jeudi 28 décembre 2000
Statut
Membre
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 

1 réponse

Meilleure réponse
Messages postés
2
Date d'inscription
jeudi 28 décembre 2000
Statut
Membre
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 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sfurmanek