[Solved] Shader problem

I need a Shader that can change the color of the texture drawn. I set the colors of the output texture as parameters of the shader and in the shader I check what color the input is and then I set it to one of the output colors.
I set the 4 colors I want the output to be

        shader.Parameters["color1"].SetValue(new Vector4(1f, 0, 0, 1));
        shader.Parameters["color2"].SetValue(new Vector4(0, 1f, 0, 1));
        shader.Parameters["color3"].SetValue(new Vector4(0, 0, 1f, 1));
        shader.Parameters["color4"].SetValue(new Vector4(0, 1f, 1, 1));

This is the shader.
Here is the input + the output.
Why is the left side white? Shouldn’t it be red? The left color can be changed by setting diffentent colors in the spriteBatch.Draw methode.

I am not the brightest…
The variable color1 was already used as the COLOR0 parameter.