Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
.net 图形-改变源位图像素偏移的方法?_.net_Vb.net_Drawimage - Fatal编程技术网

.net 图形-改变源位图像素偏移的方法?

.net 图形-改变源位图像素偏移的方法?,.net,vb.net,drawimage,.net,Vb.net,Drawimage,在寻找一个函数或方法来完成我正在寻找的任务时遇到了一个小问题,希望有人能在这里提供一些见解 我有一个函数,它应该从一个较大的位图中提取并返回一个32x32px的位图,这个位图中有一组32x32的平铺 这是我现在拥有的代码,但它是错误的,因为Tile.GFX_Pos属性告诉它要在目标图像中的何处绘制,而不是从源图像中的何处绘制 Overloads Shared Function TileGFX(ByVal SrcGFX As Bitmap, ByVal Tile As TileDef) As

在寻找一个函数或方法来完成我正在寻找的任务时遇到了一个小问题,希望有人能在这里提供一些见解

我有一个函数,它应该从一个较大的位图中提取并返回一个32x32px的位图,这个位图中有一组32x32的平铺

这是我现在拥有的代码,但它是错误的,因为
Tile.GFX_Pos
属性告诉它要在目标图像中的何处绘制,而不是从源图像中的何处绘制

  Overloads Shared Function TileGFX(ByVal SrcGFX As Bitmap, ByVal Tile As TileDef) As System.Drawing.Bitmap
      Try
          Dim GFX As Bitmap = TileBitmap()
          Dim GGFX As Graphics = Graphics.FromImage(GFX)
          GGFX.DrawImageUnscaledAndClipped(SrcGFX, New Rectangle(Tile.GFXXPos, Tile.GFXYPos, TileSize, TileSize))

          Return GFX
      Catch ex As Exception
          Return TileBitmap()
      End Try
  End Function
因此,由于这不起作用,我想知道的是,是否有人知道一个好方法来选择blit从
SrcGFX
位图中的何处,而不是(当前和错误地)选择blit到目标位图中的何处。

使用
DrawImage()
方法,而不是
drawImageUnscaledClipped()


DrawImage
有数万亿个重载(好的,30个),其中包括一组可以让您同时指定源位置和目标位置的重载。

这就成功了,谢谢。我以前没见过这种超负荷!