You need a shader to this. A shader is an Effect
.
You can create a new effect by right clicking a content project, clicking "Add New Item", and selecting a "Effect" file. The resulting .fx
file is in the HLSL language. It will be compiled by the content pipeline, and you an load it with:
Effect myEffect = Content.Load<Effect>("myEffect");
There is an official example of how to use effects with SpriteBatch
here (if you want desaturation, there's an example in there). And this blog post may also be useful.
I won't reproduce the code for a saturation effect here, but you can find several examples via Google. Here is one example on the GameDev site.