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);
}
}
}