ImageCompressor.MainWindow.saveButton_Click C# (CSharp) Method

saveButton_Click() private method

private saveButton_Click ( object sender, RoutedEventArgs e ) : void
sender object
e System.Windows.RoutedEventArgs
return void
        private void saveButton_Click(object sender, RoutedEventArgs e)
        {
            if (dstData == null)
            {
                MessageBox.Show("Must load an image from a file first.");
                return;
            }

            var dlg = new SaveFileDialog();
            if (dlg.ShowDialog(this).Value)
            {
                try
                {
                    string fileName = dlg.FileName;
                    var fileInfo = new FileInfo(fileName);
                    if (string.IsNullOrEmpty(fileInfo.Extension)) fileName += ((ComboBoxItem)formatComboBox.SelectedItem).Content;

                    // Flip RB Color bits
                    var data = new byte[dstData.LongLength];
                    dstData.CopyTo(data, 0);
                    for (int i2 = 0; i2 != data.Length; i2 += 4)
                    {
                        byte c = data[i2];
                        data[i2] = data[i2+2];
                        data[i2+2] = c;
                    }

                    using (var stream = new MemoryStream())
                    using (var file = new FileStream(fileName, FileMode.Create, FileAccess.Write))
                    {
                        ImageBMPC.Save(data, width, height, stream, null);
                        stream.Position = 0;
                        stream.CopyTo(file);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }