私が探していることを行うための関数またはメソッドを見つけるのに小さな問題があり、誰かがここで少しの洞察を与えることができることを願っています.
内部に 32x32 タイルのセットがある大きなビットマップから 32x32px ビットマップを抽出して返す関数があります。
これが私が今持っているコードですが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
したがって、これが機能しないため、SrcGFX
(現在のように誤って) 宛先ビットマップのどこにブリットするかを選択する代わりに、ビットマップのどこからブリットするかを選択する良い方法を誰かが知っているかどうか疑問に思っています。