примерно делается так:
1. создаём блок с position: absolute, transform: rotate(45deg) - в него же помещаем картинку transform: rotate(-45deg)
2. псевдо элемент :after (белый треугольник)
3. на ховер transform: rotate(0) translateX(-50px). у картинки transform: rotate(0)