在我的XNA项目中,我使用未经处理的图像并使用BlendState.NonPremultiplied
绘制它们,使它们在边缘看起来很正常。但是当我在Color.FromNonPremultiplied(12, 34, 56, 78)
方法中使用非白色(SpriteBatch.Draw
)时,如果将BlendState
设置为默认值,则不会对精灵进行着色。
如何实现与默认blendstate相同的着色,而无需切换到它?
答案 0 :(得分:2)
文档说明了Color.FromNonPremultiplied Method:将非预乘的alpha颜色转换为包含预乘alpha的颜色。
基于此,您应该使用其中之一
BlendState.NonPremultiplied
和Color(12, 34, 56, 78)
OR
BlendState.AlphaBlend
和Color.FromNonPremultiplied(12, 34, 56, 78)
在一起。