That's because you probably did not adapt the Saturation-Interval Filter-Settings
(which I've set to [0.75 ... 1.0] in my Demo-Code)...
Here is the Mouse_Move Event again, which shows these Filter-Settings in
red:
Code:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 0 Then Exit Sub 'do nothing, until the User presses a MouseKey whilst moving
Dim HueAngle As Long, Result As cCairoSurface
HueAngle = (X + Y) / (ScaleWidth + ScaleHeight) * 360
Caption = "Current HueAngle: " & HueAngle & "°"
New_c.Timing True
Set Result = HueRotate(Src, HueAngle, 0.75, 1) '<- the Saturation-FilterInterval is optional
Caption = Caption & New_c.Timing
Result.DrawToDC hDC
End Sub
To produce "results like everybody else", you can just leave out these last optional Interval-Params
(which then would default to the all-pixels range-condition of [0 ... 1]).
I still think that theses Optional Filters in the HueRotate-function are "nice to have"
especially since I've now incorporated this into cCairoSurface as a Method, callable like this:
Set ResultSrf = Src.
HueRotate(HueAngle,
0, 1)
or - as said - leaving the Filters out completely, will behave the same (still using the [0, 1] interval):
Set ResultSrf = Src.
HueRotate(HueAngle)
HTH
Olaf