private void ChipherType2D(object sender, RoutedEventArgs e) { Encryption.algParams[3] = 2; DrawSettings(); if (Encryption.currentAlg == 0 && uploadedImg.Source != null) { TranspositionAlg.SetKey(Encryption.CountBytesPerPixel(uploadedImg.Source as BitmapSource)); } }
private void OpenImg(object sender, RoutedEventArgs e) { var openFile = new OpenFileDialog(); openFile.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG;)|*.BMP;*.JPG;*.GIF;*.PNG;"; openFile.RestoreDirectory = true; if (openFile.ShowDialog() == true) { dynamic decoder = null; try { var streamSource = new FileStream(openFile.FileName, FileMode.Open, FileAccess.Read, FileShare.Read); switch (new FileInfo(openFile.FileName).Extension) { case ".jpg": decoder = new JpegBitmapDecoder(streamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); break; case ".png": decoder = new PngBitmapDecoder(streamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); break; case ".bmp": decoder = new BmpBitmapDecoder(streamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); break; case ".gif": decoder = new GifBitmapDecoder(streamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); break; } uploadedImg.Source = decoder.Frames[0]; } catch (Exception err) { ShowMessageBox(err.Message.ToString(), "Error"); return; } imagePath.Text = openFile.FileName; keyPath.Text = null; SetParams(); DrawSettings(); if (Encryption.currentAlg == 0 && uploadedImg.Source != null) { TranspositionAlg.SetKey(Encryption.CountBytesPerPixel(uploadedImg.Source as BitmapSource)); } decrypted = false; } }
private void SetParams() { switch (Encryption.currentAlg) { case 0: Encryption.algParams = new List <int>() { 0, 1, 256, 2 }; if (uploadedImg.Source != null) { TranspositionAlg.SetKey(Encryption.CountBytesPerPixel(uploadedImg.Source as BitmapSource)); } break; case 1: Encryption.algParams = new List <int>() { 0, 64, 8 }; break; case 2: Encryption.algParams = new List <int>() { 0, 128, 8 }; break; case 3: Encryption.algParams = new List <int>() { 0, 128, 16 }; break; case 4: Encryption.algParams = new List <int>() { 0, 40, 8 }; break; } }