Я не очень увлекаюсь графикой, но раньше я делал что-то подобное, используя маску, а затем изображение, и вам нужно вращать и перетаскивать их обоих. То есть, у вас есть черная «дыра» в форме башни, которая поворачивается и закрывается, чтобы соответствовать повороту, который вы хотите для своего изображения башни.
Другая проблема заключается в том, что пиксели в повернутом изображении не будут совпадать с пикселями в исходном изображении, поэтому вам нужно выполнить некоторую интерполяцию, чтобы оно выглядело правильно.
Хотя я бы подумал, что, вероятно, вы можете использовать библиотеки, которые позаботятся об этом за вас.