sfurmanek
Messages postés2Date d'inscriptionjeudi 28 décembre 2000StatutMembreDernière intervention 6 mai 2010
-
27 avril 2010 à 18:06
sfurmanek
Messages postés2Date d'inscriptionjeudi 28 décembre 2000StatutMembreDerniè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 ?
sfurmanek
Messages postés2Date d'inscriptionjeudi 28 décembre 2000StatutMembreDernière intervention 6 mai 2010 28 avril 2010 à 10:17
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);