Всем доброго времени суток.
Моя проблема заключается в том, что когда я хочу сохранить рисунок canvas в JPEG.
Я сначала создаю Bitmap, а потом перевожу в JPEG, используя FJ.Core.
В принципе делается это так:
// Создаём bitmap
WriteableBitmap bmp = new WriteableBitmap((int)cnv.ActualWidth, (int)cnv.ActualHeight);
bmp.Render(cnv, cnv.RenderTransform);
bmp.Invalidate();
// Сохранение файла
if (bmp != null)
{
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.Filter = "JPEG Files (*.jpeg)|*.jpeg";
saveDlg.DefaultExt = ".jpeg";
// Открытие диалогового окна сохранения
if ((bool)saveDlg.ShowDialog())
using (Stream fs = saveDlg.OpenFile())
{
// Сохранение с конвертированием в формат JPEG
SaveToFile(bmp, fs);
}
}
На канве картинка создаётся с использование различных объектов(line, UserControl, image, rectange). В UserControl есть и image, и надписи, и grid с разметкой, и используется стиль оформления.
Всё вроде как хорошо должно быть и на канве всё отображается, но проблема заключается в том, что при сохранении напрочь теряются все grid с разметкой и стили в UserControl. В результате от контрола остаётся только image сведённые в одну точку.
Подскажите как с этим можно справится.