我正在尝试将一个图形对象的内容复制到另一个图形对象,但我唯一能找到的是基于使用 GDI32.DLL
,我宁愿尽可能避免使用它.
有谁知道如何/如果使用托管代码可以做到这一点?我不介意答案是用 C# 还是 VB.Net。
这是我目前拥有的:
Private Sub CopyGraphics()
Dim srcPic As Graphics = pnl.CreateGraphics
Dim srcBmp As New Bitmap(pnl.Width, pnl.Height, srcPic)
Dim srcMem As Graphics = Graphics.FromImage(srcBmp)
Dim HDC1 As IntPtr = srcPic.GetHdc
Dim HDC2 As IntPtr = srcMem.GetHdc
BitBlt(HDC2, 0, 0, pnl.Width, pnl.Height, HDC1, 0, 0, 13369376)
pnlDraw.BackgroundImage = srcBmp
'Clean Up code omitted...
End Sub
最佳答案
严格来说,不可能使用任何方法将 Graphics 对象的内容复制到任何地方,因为 Graphics 对象不包含任何内容。
为什么不用DrawToBitmap方法在位图上绘制控件?
Dim srcBmp As New Bitmap(pnl.Width, pnl.Height)
Dim clip As New Rectangle(New Point(0, 0), pnl.Size)
pnl.DrawToBitmap(srcBmp, clip)
关于c# - 如何将一个图形对象复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/597037/