【问题标题】:How to copy one Graphics Object into another如何将一个图形对象复制到另一个
【发布时间】:2009-02-27 23:12:10
【问题描述】:

我正在尝试将一个图形对象的内容复制到另一个,但我唯一能找到的是基于使用 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

【问题讨论】:

    标签: c# .net vb.net graphics gdi+


    【解决方案1】:

    严格来说,无法使用任何方法将 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2020-01-02
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多