VB.NET将图像绘制到特定位置

VB.NET将图像绘制到特定位置,vb.net,image,Vb.net,Image,我试着在VB.NET中重建BitBlt函数,它的效果还不错,但我的图像总是在目标位图的0,0上闪烁/绘制 有人看到我的错误了吗 正如大家所看到的,我正在尝试将rect(0,0,50,50)从源位图复制到目标位图中的点(25,25),但它没有这样做: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Make a Bit

我试着在VB.NET中重建BitBlt函数,它的效果还不错,但我的图像总是在目标位图的0,0上闪烁/绘制

有人看到我的错误了吗

正如大家所看到的,我正在尝试将rect(0,0,50,50)从源位图复制到目标位图中的点(25,25),但它没有这样做:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    ' Make a Bitmap to hold the result.
    Dim bm As New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)

    CopyBitmap(Me.PictureBox1.Image, bm, 25, 25, 50, 50, 0, 0)

    Me.PictureBox2.Image = bm

End Sub

Public Sub CopyBitmap(ByRef uSource As Bitmap, ByRef uTarget As Bitmap, ByVal uDestX As Integer, ByVal uDestY As Integer, ByVal uSrcWidth As Integer, ByVal uSrcHeight As Integer, ByVal uSrcX As Integer, ByVal uSrcY As Integer)

    Dim nSrc As New Rectangle
    nSrc = Rectangle.FromLTRB(uSrcX, uSrcY, uSrcX + uSrcWidth, uSrcY + uSrcHeight)

    Dim nDst As New Rectangle
    nDst = Rectangle.FromLTRB(uDestX, uDestY, uDestX + uSrcWidth, uDestY + uSrcHeight)

    Using g As Graphics = Graphics.FromImage(uTarget)
        ' Draw the specified section of the source bitmap to the new one
        g.DrawImage(uSource, nSrc, nDst, GraphicsUnit.Pixel)
    End Using

End Sub

Doh,我交换了nSrc和nDst。
DrawImage中的第二个参数应该是nDst,第三个参数应该是nSrc。

Doh,我交换了nSrc和nDst。 DrawImage中的第二个参数应为nDst,第三个参数应为nSrc