我有一个与3D WPF相关的可视化图形,我想通过剪贴板缓冲区将它传递到Excel单元格中。
对于“普通”的BMP图像,它可以工作,但我不知道如何转换RenderTargetBitmap
。
我的代码如下:
System.Windows.Media.Imaging.RenderTargetBitmap renderTarget = myParent.GetViewPortAsImage(DiagramSizeX, DiagramSizeY);
System.Windows.Controls.Image myImage = new System.Windows.Controls.Image();
myImage.Source = renderTarget;
System.Drawing.Bitmap pg = new System.Drawing.Bitmap(DiagramSizeX, DiagramSizeY);
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(pg);
gr.DrawImage(myImage, 0, 0);
System.Windows.Forms.Clipboard.SetDataObject(pg, true);
sheet.Paste(range);
我的问题是gr.DrawImage
不接受System.Windows.Controls.Image
或者System.Windows.Media.Imaging.RenderTargetBitmap
,只接受System.Drawing.Image
。
我该如何将Controls.Image.Imaging.RenderTargetBitmap
转换为Image
,或者有没有更简单的方法?