private void ExportBitmapMenuItem_Click(object sender, EventArgs e) { if (SelectedImageMetadata.Count == 0) { return; } string directoryPath; using (var fb = new FolderBrowserDialog()) { if (fb.ShowDialog() != DialogResult.OK) { return; } directoryPath = fb.SelectedPath; } var exportData = SelectedImageMetadata.Select(x => new { Metadata = x, ImageData = m_firmware.ReadImage(x) }); foreach (var data in exportData) { try { using (var image = BitmapProcessor.Create1BitBitmapFromRaw(data.ImageData)) { var fileName = Path.Combine(directoryPath, "0x" + data.Metadata.Index.ToString("X2") + Consts.BitmapFileExtensionWoAsterisk); image.Save(fileName, ImageFormat.Bmp); } } catch { // Ignore } } }