看看上面的图片。我正在创建一个基于图块的游戏(娱乐)。在我的其他精灵中,我只是将地形方块放入网格中,它们是坚固的,所以没有问题。这里的问题是,如果我现在使用这个角色,它会尝试在他身后显示粉红色(他是16x16)。
我正在使用System.Graphics来显示项目(并在使用graphics.DrawImage()时将其删除)。有什么方法可以让它忽略特定的颜色并使它们透明吗?
我正在使用VB.net,因此所有的.net答案都可以接受。
对于评论中的一个点(或者您的答案中的额外点),您使用粉红色网格来包含所有精灵的方法是什么?
答案 0 :(得分: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