So LLlAMnYP answered why it displays red instead of blue, but it got me to thinking how to make it behave the way OP expected it to.
Here is a comparison of Hue
inside of Image
and just by itself:
TableForm[
{Table[{n, Image[{{{n, 1, 1}}}, ColorSpace -> "HSB"],
Graphics[{Hue[n, 1, 1], Rectangle[]}, ImageSize -> 22]}, {n, -2, 0, 0.1}],
Table[{n, Image[{{{n, 1, 1}}}, ColorSpace -> "HSB"],
Graphics[{Hue[n, 1, 1], Rectangle[]}, ImageSize -> 22]}, {n, 0, 2, 0.1}]}
]
So to get it to behave properly, we use Mod
, with a slight offset so that it doesn't set a brightness value of 1 equal to 0:
TableForm[
{Table[{n, Image[Mod[{{{n, 1, 1}}}, 1, .001], ColorSpace -> "HSB"],
Graphics[{Hue[n, 1, 1], Rectangle[]}, ImageSize -> 22]}, {n, -2,
0, 0.1}],
Table[{n,
Image[Mod[{{{n, 1, 1}}}, 1, .001], ColorSpace -> "HSB"],
Graphics[{Hue[n, 1, 1], Rectangle[]}, ImageSize -> 22]}, {n,
0, 2, 0.1}]}
]
and your original example is simply
Image[Mod[{{{-0.33, 1, 1}}}, 1, .001], ColorSpace -> "HSB"]
Image
interprets the data in a certain way, there is no need to introduce unnecessary overhead by transforming the data to a "canonical" form. $\endgroup$ImageSubtract
. I'll add an example to my answer. $\endgroup$