C# XNA:仅对不透明像素应用SpriteBatch.Draw(…)颜色
我有一个精灵从一个有阿尔法通道的PNG加载。图像包含一个不透明的磁盘,其余部分是透明的 我想使用C# XNA:仅对不透明像素应用SpriteBatch.Draw(…)颜色,c#,xna,2d,C#,Xna,2d,我有一个精灵从一个有阿尔法通道的PNG加载。图像包含一个不透明的磁盘,其余部分是透明的 我想使用SpriteBatch.Draw(…)的color参数来更改磁盘的色调。但是,默认的混合行为会将颜色应用于整个精灵,因此我最终会在着色的磁盘周围创建一个不透明的方形轮廓 有没有办法改变混合模式,使透明像素不受颜色参数的影响?我从未见过这种情况发生,从XNA开始,我就一直在使用透明PNG。你在混合2D和3D吗?如果是这样,3D渲染设置可能会让SpriteBatch感到困惑,但我认为SpriteBatch
SpriteBatch.Draw(…)
的color
参数来更改磁盘的色调。但是,默认的混合行为会将颜色应用于整个精灵,因此我最终会在着色的磁盘周围创建一个不透明的方形轮廓
有没有办法改变混合模式,使透明像素不受
颜色
参数的影响?我从未见过这种情况发生,从XNA开始,我就一直在使用透明PNG。你在混合2D和3D吗?如果是这样,3D渲染设置可能会让SpriteBatch感到困惑,但我认为SpriteBatch应该为您正确设置这些设置。也许你使用的PNG图像有问题?比尔,你说得对。我忘了清除一个PNG中的背景。该问题应删除。不,不要删除!这就是StackOverflow的用途。如果有人遇到类似的问题,这个QA实际上可以向他们指出一个他们没有想到的方向。顺便说一句,不要用“回答”你自己的问题来回答比尔,而是使用评论系统。对不起,我认为我需要50个信誉点才能发表评论。