возможно, вы можете использовать анимации так я поворачиваю изображение в угловом проекте
rotate_image() {
this.circle.nativeElement.originX = 0.5; // default 0.5 (center), 0 is most left, 1 is most right
this.circle.nativeElement.originY = 0.5; // default 0.5 (middle), 0 is top, 1 is bottom
this.rotate += ((Math.random() * Math.floor(5)) + 1) * 360;
this.circle.nativeElement.animate({
rotate: this.rotate, // will take into account originX and originY
duration: 1000
}).then(() => {
console.log(null);
}).catch((e) => {
console.log(e.message);
});
}