我需要SpriteBatch
来呈现图像在WPF或普通UIKit应用程序中的期望:
Color.White
并修改A
值。最近的一直在使用BlendState.NonPremultiplied
,但我得到了奇怪的线条,其中部分透明的PNG彼此重叠。
我在Windows (see here)上遇到过类似的问题,但是通过更改XNA内容项目中的Premultiplied
设置来修复它。我如何为MonoGame做类似的事情? (我期待OpenGL在这里有所不同)
答案 0 :(得分:1)
我们使用两种不同的设置解决了这个问题。
在Windows和XNA上:
BlendState.NonPremultiplied
Color.White
并设置A
值在MonoGame和iOS上:
BlendState.AlphaBlend
Color.White * (float)Alpha / (float)byte.MaxValue
我的PNG 不预乘,并且完全按照您的预期从Photoshop中使用。