我有一個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);
// ....
你的意思是「高分辨率」?我不確定術語「高度分辨率」是什麼意思。更一般地說:對於您的位圖,您將需要指定所需分辨率的像素大小。請注意,A4紙上的300 dpi(大多數人認爲最高分辨率爲「高分辨率」)大約爲2500像素寬,3500像素高;如果您使用屏幕座標中的寬度和高度值,則一定會在A4紙上獲得低分辨率圖像。如果沒有[良好的_minimal_,_complete_代碼示例](http://stackoverflow.com/help/mcve),就不可能給出一個好的答案。 – 2015-02-25 01:00:33
嘗試[ScaleTransform](https://msdn.microsoft.com/en-us/library/system.windows.media.scaletransform%28v=vs.110%29.aspx)控件並呈現此控件... – 2015-02-25 12:06:54
不要打印出來。首先檢查圖像。這是你期望的嗎? – usr 2015-02-25 12:22:43