Since Mathematica doesn't have a builtin function to create a color in the HSL color space (the builtin Hue only does HSV), I created one here. The algorithm is taken from http://en.wikipedia.org/wiki/HSL_and_HSV # From_HSL

HSLColor[h_,s_,l_]:=Block[{c,x,hp,rgbp,r,g,b},
c=(1-Abs[2l-1])s;
hp=6Mod[h,1];
x=c(1-Abs[Mod[hp,2]-1]);
rgbp=Switch[Floor[hp],
0,{c,x,0},
1,{x,c,0},
2,{0,c,x},
3,{0,x,c},
4,{x,0,c},
5,{c,0,x}
];
{r,g,b}=rgbp+l-c/2;
RGBColor[r,g,b]
]

This color function maps real numbers to white and pure imaginary numbers to black.

ComplexColor1[z_]:=HSLColor[((Arg[z]-π/2)/(2π)),((Abs[Im[z]])/(Abs[z])),((1/2)-((((Abs[((Abs[Im[z]])/(Abs[z]))-(1/2)])^20)Sign[((Abs[Im[z]])/(Abs[z]))-(1/2)])/(2(((1/2))^20))))]
ComplexColor1[0]:=White

This color function maps real numbers to white and pure imaginary numbers to either red (positive imaginary part) or cyan (negative imaginary part).

ComplexColor2[z_]:=Hue[((Arg[z]-π/2)/(2π)),((Abs[Im[z]])/(Abs[z])),1-((Abs[Im[z]])/(4Abs[z]))]
ComplexColor2[0]:=White

Here are plots of the color functions in action on the complex plane:

RegionPlot[True,{x,-1,1},{y,-1,1},
ColorFunction->(ComplexColor1[#1+I #2]&),ColorFunctionScaling->False,PlotPoints->100]

RegionPlot[True,{x,-1,1},{y,-1,1},
ColorFunction->(ComplexColor2[#1+I #2]&),ColorFunctionScaling->False,PlotPoints->100]