在C#/ WPF應用程序中,我有一個DataChart對象,我需要將其保存到圖像。目前,該對象被添加到一個固定文檔,並正確地使用下面的代碼顯示對固定文檔:將WPF可視化對象渲染爲圖像產生純黑色圖像
VisualBrush chartBrush = new VisualBrush(chart);
Rectangle chartRect = new Rectangle();
chartRect.Height = chartClone.Height;
chartRect.Width = chartClone.Width;
chartRect.Fill = chartBrush;
AddBlockUIElement(chartRect, textAlignment);
然而,而不是將其添加爲一個塊的固定文檔,我現在需要簡單地保存圖像到磁盤。我試着做以下幾點:
RenderTargetBitmap bmp = new RenderTargetBitmap((int)chart.Width, (int)chart.Height, 96, 96, PixelFormats.Default);
bmp.Render(chart);
PngBitmapEncoder image = new PngBitmapEncoder();
image.Frames.Add(BitmapFrame.Create(bmp));
using (Stream fs = File.Create("TestImage.png"))
{
image.Save(fs);
fs.Close();
}
然而,這只是給了我在我的圖表的大小實心黑色圖像,我想不通爲什麼。
所以我的問題是,有誰知道更好的方法來把DataChart對象轉換成我可以保存的PNG或BMP圖像?我嘗試過從VisualBrush或Rectangle獲取圖像,但除了上述內容外,還沒有發現任何東西,這似乎是我所需要的。
非常感謝!
壞消息替換該行
是我敢肯定,這是一個驅動程序/圖形卡問題,因爲它應該工作。嘗試更新您的驅動程序或嘗試在另一臺計算機(或不同的操作系統)上使用您的代碼。仍然在努力一些好消息:) – Blindy 2011-06-01 17:43:26