2011-09-11 48 views
0

enter image description here正確地從粉紅色的後柵格圖像中切出圖像以繪製

請看上面的圖像。我正在創建一個基於瓦片的遊戲(娛樂)。在我的其他精靈中,我只是將地形方塊放入網格中,它們很穩固,因此沒有任何問題。這裏的問題是,如果我現在使用這個角色,它會試圖展示他身後的粉色(他是16x16)。

我使用System.Graphics來顯示項目(並在使用graphics.DrawImage()時將它們剪切掉)。有什麼辦法可以讓它忽略特定的顏色並使它們透明?

我使用VB.net,所以所有的.net答案都可以接受。

對於評論(或答案中的額外點)中的一個點,您使用粉色網格來包含所有小精靈的方法是什麼?

回答

1

您應該將圖像轉換爲PNG並使背景透明。如果沒有,你可以轉換成位圖:

Public Class Form1 
    Private bmp As Bitmap 

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 
    bmp = New Bitmap(bitmapFileName) 
    bmp.MakeTransparent(Color.FromArgb(255, 0, 220)) 
    End Sub 

    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint 
    e.Graphics.DrawImage(bmp, New Point(32, 32)) 
    End Sub 
End Class 
+0

好吧,最後一個問題,我可以做多種顏色透明(紫色和粉紅色),或只有一個或其他? – FreeSnow

+0

@Dade是的,只是不斷地爲每種顏色添加更多的MakeTransparent調用。 – LarsTech