Alpha From PNGs Butchered

I have a pretty vanilla Monogame game. I'm using PNG for all my sprites (made in Photoshop). I noticed that XNA is butchering the aliasing; no matter what I do, my graphics appear jaggedy.

Below is a screenshot. The bottom half is what XNA shows me when I zoom in 2X using a Matrix on my GraphicsDevice (to make the effect more obvious). The top is when I pasted the same sprites from Photoshop and scaled them to 200%.

Note that partially transparent pixels are turning whiteish.

Is there a way to fix this? What am I doing wrong?

Here's the relevant call to draw to the SpriteBatch:

spriteBatch.Draw(this.texture, this.positionVector, null, Color.White, this.Angle, this.originVector, 1f, SpriteEffects.None, 0f);


(this.positionVector can easily be Vector.Zero; Color.White as 100% alpha, I think; this.Angle can be a real angle (small > in the image) or zero (the orb itself).

Ensure you're enabling blending in your SpriteBatch.Begin() call. I think for PNGs, BlendState.NonPremultiplied is probably the one you want.
• @NathanReed NonPreMulitplied for the win. Is it possible you can also attempt to answer my other question? :) gamedev.stackexchange.com/questions/44599/… – ashes999 Nov 30 '12 at 11:28