У меня есть сетка (wpf), и я хочу сохранить сетку как изображение. Имя сетки — gridPrintPanel (ШxВ: 1800x1200). Я попытался использовать RenderTargetBitmap для получения данных и сохранения в виде файла:
string tempFile = @"D:\temp.png";
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap(1800, 1200, 0, 0, PixelFormats.Pbgra32);
renderTargetBitmap.Render(ViewInstance.gridPrintPanel);
PngBitmapEncoder pngImage = new PngBitmapEncoder();
pngImage.Frames.Add(BitmapFrame.Create(renderTargetBitmap));
using (Stream fileStream = File.Create(tempFile))
{
pngImage.Save(fileStream);
}
Проблема в том, что изображение результата отличается, когда я запускаю программу на 2 разных машинах с разным разрешением экрана. Машина с экраном Full HD дает ожидаемый результат, однако другая машина с разрешением экрана 1024x768 дает изображение с меньшим объемом данных. Моя сетка содержит сетку данных, а вторая машина дает мне сетку данных, которая потеряла несколько последних строк. Вопрос, который я хочу задать здесь: может ли разрешение экрана повлиять на результат? И как я мог получить тот же результат, то есть полное изображение на обеих машинах.