En NumPy, hay una función llamada roll . La documentación lo describe de la siguiente manera:
Haga rodar los elementos de la matriz a lo largo de un eje dado.
Los elementos que ruedan más allá de la última posición se vuelven a introducir en la primera.
Concretamente, roll en una imagen podría producir la siguiente versión desplazada:
Mi pregunta es cómo lograr el mismo efecto en JavaScript para valores de cambio arbitrarios a lo largo de los ejes de ancho y alto y cómo hacer que se pueda animar, de modo que se pueda ver la transición de la imagen original a la versión cambiada.
Así que la respuesta es vergonzosamente simple. Se puede lograr así:
#imageDiv { background-image: url(the_image.png); background-repeat: repeat; } Después de lo cual, simplemente puede animar la propiedad background-position en imageDiv (por ejemplo background-position: 42px 69px ).