If this were text instead of a graphic, you could use conditional formatting to change the color of the text. You might consider looking for a symbol character that will work instead of a graphic if what you have is a simple check or "tick" mark.
Since this is a graphic image, you need two copies of your graphic, one in each color.
You can then load these images in container fields and define a calculation field that specifies container as its return type. The calculation returns the contenst of one of your two container fields to display the image in the specified color.
How you store the images depends a bit on your system. If this is a single user file, you can put the images in global container fields. If it is hosted over the network, you may want to define a table where you have either one record with two container fields or two records with a single container field each to store your two images. You can then use a script that runs when the file opens to copy the images into global fields.
Once you have your global container fields loaded with your two images, Your calculation might be written like this:
If ( YourField = "Y" ; GlobalContainerField1 ; GlobalContainerField2 )