Это будет пример и надеюсь, что он даст вам некоторую информацию в правильном направлении.
Что вы можете сделать, это перехватить события, связанные с уходом мыши, и войти в HTML:
(mouseleave)=mouseLeave(yourLinkedID)
(mouseenter)=mouseEnter(yourLinkedID)
Теперь вы знаете, находится ли ваша мышь внутри изображения или нет.
Далее вы хотите перехватить событие прокрутки.
(scroll)="onScroll($event)"
Теперь последний трюк для нас ngStyle:
[ngStyle]="{'background-size': backgroundSize}"
В вашем компоненте ввод установит значение в true, а оставит в false:
onScroll(_ev: any) {
if(this.entered){
//do something with event
//if scroll up this.backgroundSize 50% +5
//if scroll down this.backgroundSize 50% -5
}
}