Las funciones se utilizan asi, donde tienes esto:
Código Delphi
[-]
Clr := Image1.Canvas.Pixels[X, Y];
Coloca esto:
Código Delphi
[-]
Clr := Image1.Canvas.Pixels[RatonAImagenX(Image1,X), RatonAImagenY(Image1,Y)];
En cuanto a modificar el algoritmo, déjeme ver si tengo un ratito libre y lo modifico.