我正在为我的图表应用程序进行复制和粘贴操作。 因此,我需要......
将WPF位图转换为D3DImage(以后实现"复制")和
将D3DImage转换为WPF位图(以便稍后实现"粘贴")。
请注意,这需要" Interop"在WPF应用程序和本机Win-32之间。
如何做到这一点,尽可能短(两个功能,理想情况下)?
答案 0 :(得分:1)
你可能在过去半年找到了你的答案,但这里是如何将WPF中的D3DImage转换为BitmapSource(在这种情况下我使用的是vb.net):
Public Function GetCurrentImage() As BitmapSource
Dim width As Integer = D3DImage.PixelWidth
Dim height As Integer = D3DImage.PixelHeight
Dim dv As New DrawingVisual()
Using dc As DrawingContext = dv.RenderOpen()
dc.DrawImage(D3DImage, New Rect(0, 0, width, height))
End Using
Dim rtb As New RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32)
rtb.Render(dv)
Return BitmapFrame.Create(rtb)
End Function
您可以在WPFMediaKit中的C#中找到它。
答案 1 :(得分:0)
D3DImage是什么意思?
WPF中有一个名为D3DImage的'Control'/ Surface,但感觉好像是指位图格式。你想把数据放在剪贴板上吗?如果是这样,你将不需要互操作。只需使用Clipboard API将图像放在剪贴板上并从剪贴板中读取它。