Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将一个图形对象复制到另一个图形对象中_C#_.net_Vb.net_Graphics_Gdi+ - Fatal编程技术网

C# 如何将一个图形对象复制到另一个图形对象中

C# 如何将一个图形对象复制到另一个图形对象中,c#,.net,vb.net,graphics,gdi+,C#,.net,Vb.net,Graphics,Gdi+,我试图将一个图形对象的内容复制到另一个图形对象,但我唯一能找到的是基于使用GDI32.DLL,如果可能的话,我宁愿避免使用它 是否有人知道如何/是否可以使用托管代码实现这一点?我不介意答案是C#还是VB.Net 以下是我目前拥有的: Private Sub CopyGraphics() Dim srcPic As Graphics=pnl.CreateGraphics 将srcBmp调整为新位图(pnl.Width、pnl.Height、srcPic) Dim srcMem As Graphic

我试图将一个图形对象的内容复制到另一个图形对象,但我唯一能找到的是基于使用
GDI32.DLL
,如果可能的话,我宁愿避免使用它

是否有人知道如何/是否可以使用托管代码实现这一点?我不介意答案是C#还是VB.Net

以下是我目前拥有的:

Private Sub CopyGraphics()
Dim srcPic As Graphics=pnl.CreateGraphics
将srcBmp调整为新位图(pnl.Width、pnl.Height、srcPic)
Dim srcMem As Graphics=Graphics.FromImage(srcBmp)
尺寸HDC1为IntPtr=srcPic.GetHdc
尺寸HDC2为IntPtr=srcMem.GetHdc
位BLT(HDC2,0,0,pnl.宽度,pnl.高度,HDC1,0,0,13369376)
pnlDraw.BackgroundImage=srcBmp
'删除清除代码。。。
端接头

严格来说,不可能使用任何方法将图形对象的内容复制到任何地方,因为图形对象不包含任何内容

为什么不使用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)