У меня есть FrameworkElement
, и я хочу сохранить его как изображение с высоким разрешением (Jpeg). Я попробовал следующий код, но результаты не то, что я надеялся. У меня есть изображение с плохим разрешением, когда я печатаю его с размером A4
в качестве размера бумаги.Как создать изображение с высоким разрешением из элемента FrameworkElement?
// ...
FrameworkElement element = this.Content;
element.Measure(new System.Windows.Size(double.PositiveInfinity, double.PositiveInfinity));
element.Arrange(new Rect(element.DesiredSize));
element.UpdateLayout();
// i used element.ActulaHeight and ActualWidth but not works.
RenderTargetBitmap bitmap = new RenderTargetBitmap((int)element.Width, (int)element.Height, GPFReporstPageSizeExtension.DPI, GPFReporstPageSizeExtension.DPI, System.Windows.Media.PixelFormats.Pbgra32);
bitmap.Render(element);
// ....
ли вы имеете в виду «высокое разрешение»? Я не уверен, что означает термин «Разрешение по высоте». В более общем плане: для вашего растрового изображения вам нужно указать размер пикселя требуемого разрешения. Обратите внимание, что 300 dpi (о самом низком большинстве людей считают «высокое разрешение») на бумаге формата А4 составляет примерно 2500 пикселей по ширине на 3500 пикселей; если вы используете значения ширины и высоты из ваших координатов экрана, вы обязательно получите изображение с низким разрешением на листе A4. Без [хорошего, _minimal_, _complete_ кода примера] (http://stackoverflow.com/help/mcve) невозможно дать хороший ответ. –
Попробуйте [ScaleTransform] (https://msdn.microsoft.com/en-us/library/system.windows.media.scaletransform%28v=vs.110%29.aspx) элемент управления и визуализируйте этот элемент управления ... –
Не распечатывайте его. Сначала проверьте изображение. Это то, чего вы ожидаете? – usr