Prueba con algo así:
Código Delphi
[-]
function RatonAImagenX(Imagen: TImage; x: integer): integer;
begin
Result:= (x * Imagen.Picture.Width) div Imagen.Width;
end;
function RatonAImagenY(Imagen: TImage; y: integer): integer;
begin
Result:= (y * Imagen.Picture.Height) div Imagen.Height;
end;
Aunque lo ideal seria no tener que ajustar la imagen, si necesitas un tamaño diferente a 360x256 lo mejor seria cambiar el algoritmo que genera el degradado para ajustarlo al nuevo tamaño. ¿que tamaño necesitas?