/// <summary> /// Retourne l'image associée au filtre appliqué /// </summary> /// <param name="_image">Image soumise au filtre</param> /// <returns>Image associée</returns> public static MonImage NouvelleImage(MonImage _image) { MonImage image = new MonImage(_image, false); for (int i = 1; i < _image.Pixel.GetLength(0) - 1; i++) { for (int j = 1; j < _image.Pixel.GetLength(1) - 1; j++) { for (int k = 0; k < 3; k++) { image.Pixel[i, j, k] = (byte)((_image.Pixel[i - 1, j - 1, k] * matrice[0, 0] + _image.Pixel[i - 1, j + 0, k] * matrice[0, 1] + _image.Pixel[i - 1, j + 1, k] * matrice[0, 2] + _image.Pixel[i + 0, j - 1, k] * matrice[1, 0] + _image.Pixel[i + 0, j + 0, k] * matrice[1, 1] + _image.Pixel[i + 0, j + 1, k] * matrice[1, 2] + _image.Pixel[i + 1, j - 1, k] * matrice[2, 0] + _image.Pixel[i + 1, j + 0, k] * matrice[2, 1] + _image.Pixel[i + 1, j + 1, k] * matrice[2, 2]) / diviseur); } } } Traitement.EtendreBordures(_image); return(image); }
/// <summary> /// Bouton rotation -90° /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonm90_Click(object sender, RoutedEventArgs e) { image = Traitement.Rotation(image); image = Traitement.Rotation(image); image = Traitement.Rotation(image); Display(image); }
/// <summary> /// Bouton pour nuance de gris /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonGris_Click(object sender, RoutedEventArgs e) { image = Traitement.NuanceDeGris(image, (int)sliderNuanceDeGris.Value); Display(image); }