2
找到一個函數或方法來做我想找的事情有一個小問題,希望有人能夠在這裏提供一些見解。Drawing.Graphics - 更改源位圖的像素偏移量的方法?
我有一個函數,應該從一個更大的位圖中提取並返回一個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
如此以來,這是不行的,我不知道是如果有人知道一個好辦法,選擇其中的SrcGFX
位從位塊傳輸,而不是,(按當前和不正確地)在其中選擇目的地位圖blit。
這樣做,謝謝。我以前沒有看到過載! – Sukasa 2009-08-18 02:17:18