public static void SaveImage(BitmapSource image, string path, string extension) { if (extension.EqualsNoCase(".tga")) Targa.Save(image.ToBitmapRam(), path); else { var encoder = extension.EqualsNoCase(".jpg") ? new JpegBitmapEncoder() : extension.EqualsNoCase(".bmp") ? new BmpBitmapEncoder() : (BitmapEncoder) new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(image)); using (var file = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.Read)) encoder.Save(file); } }