.net 图形-改变源位图像素偏移的方法?
在寻找一个函数或方法来完成我正在寻找的任务时遇到了一个小问题,希望有人能在这里提供一些见解 我有一个函数,它应该从一个较大的位图中提取并返回一个32x32px的位图,这个位图中有一组32x32的平铺 这是我现在拥有的代码,但它是错误的,因为.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
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个),其中包括一组可以让您同时指定源位置和目标位置的重载。这就成功了,谢谢。我以前没见过这种超负荷!