private void SaveToFile(BitmapSource bitmap)
{
#if SILVERLIGHT
_saveFileService.Filter = "BMP (*.bmp) |*.bmp";
using (var stream = _saveFileService.DetermineFile())
{
if (stream != null)
{
var writeableBitmap = new WriteableBitmap(bitmap);
var bitmapByteArray = ConvertWritableBitmapToByteArray(writeableBitmap);
stream.Write(bitmapByteArray, 0, bitmapByteArray.Length);
}
}
#else
_saveFileService.Filter = "PNG (*.png) |*.png";
if (_saveFileService.DetermineFile())
{
string fileName = _saveFileService.FileName;
using (var stream = new FileStream(fileName, FileMode.Create))
{
var encoder = new PngBitmapEncoder { Interlace = PngInterlaceOption.On };
encoder.Frames.Add(BitmapFrame.Create(bitmap));
encoder.Save(stream);
}
}
#endif
}