Может быть, попробовать что-то в этом роде:
private void SaveImageToJPEG(Image ImageToSave, string Location)
{
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap((int)ImageToSave.Source.Width,
(int)ImageToSave.Source.Height,
100, 100, PixelFormats.Default);
renderTargetBitmap.Render(ImageToSave);
JpegBitmapEncoder jpegBitmapEncoder = new JpegBitmapEncoder();
jpegBitmapEncoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap));
using (FileStream fileStream = new FileStream(Location, FileMode.Create))
{
jpegBitmapEncoder.Save(fileStream);
fileStream.Flush();
fileStream.Close();
}
}
Возможно, вам придется возиться с размерами в RenderTargetBitmap, чтобы получить то, что вы хотите, но это должно сделать работу. Вы также можете использовать другие кодировщики, кроме JpegBitmapEncoder.