
请看上面的图像。我正在创建一个基于磁贴的游戏的(重现)。在我的其他精灵中,我只是简单地将地形方块放入网格中,它们是实心的,所以没有问题。这里的问题是,如果我现在使用这个字符,它会试图在他后面显示粉色(他是16x16)。
我使用System.Graphics显示这些项(并在使用graphics.DrawImage()时将它们去掉)。有没有办法让它忽略特定的颜色并使它们变得透明?
我使用的是VB.net,所以所有的.net答案都是可以接受的。
对于评论中的一点(或者答案中的额外一点),你使用粉色网格来包含所有精灵的方法是什么?
发布于 2011-09-11 20:56:34
您可能应该将图像转换为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 Classhttps://stackoverflow.com/questions/7378217
复制相似问题