Я занимаюсь разработкой приложения и хотел бы реализовать функцию, аналогичную пейджинговой системе Microsoft Power Point, в которой есть уменьшенное изображение листов, над которыми вы работаете.
У меня есть следующая функция, которая визуализирует изображение сетки, в которой должен работать пользователь.
private void CreateImageOfPage()
{
int width = (int)this.WorkSheetViewModelList.Last().RootGrid.Width;
int height = (int)this.WorkSheetViewModelList.Last().RootGrid.Height;
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32);
renderTargetBitmap.Render(this.WorkSheetViewModelList.Last().RootGrid);
PngBitmapEncoder pngImage = new PngBitmapEncoder();
pngImage.Frames.Add(BitmapFrame.Create(renderTargetBitmap));
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap));
Guid photoID = System.Guid.NewGuid();
String photolocation = "Temp/"+photoID.ToString() + ".png";
using (var filestream = new FileStream(photolocation, FileMode.Create))
encoder.Save(filestream);
Console.WriteLine(Path.GetFullPath(photoID.ToString() + ".png"));
}
Мой вопрос заключается в том, как получить, установить или отформатировать путь к сохраненному изображению, который будет установлен в качестве источника изображения в XAML? В своем текущем виде путь выглядит так: «D: \ Project \ bin \ Debug \ 7fd77420-f62e-44e7-b206-b5ce19f01a9e.png», и он говорит, что не может получить файл в этом месте (на данный момент я просто скопировал вывод, но он будет связан, как и должно быть).
Если путь, который я выбрал, не изящен, есть ли другой способ сделать это лучше или вообще без сохранения образа на диск?
Спасибо!