Один из вариантов - добавить дополнительные пустые пиксели в ваше растровое изображение.Если вы можете вращать только вокруг центра растрового изображения, подумайте о том, что произойдет, если вы удвоите ширину своего растрового изображения, а затем переведите изображение, которое хотите повернуть, так, чтобы оно совпало с правым.
Например,предположим, что ваше изображение
+-------+
X image |
+-------+
, где X - это точка, вокруг которой вы хотите повернуть.Теперь создайте это изображение:
+-------+-------+
| blank X image |
+-------+-------+
Если вы вращаете вокруг центра этого изображения, обратите внимание, что вы вращаетесь прямо над X, что вы и хотели сделать в первую очередь.Полученное повернутое изображение выглядит следующим образом:
+---+
| b |
| l |
| a |
| n |
| k |
+-X-+
| i |
| m |
| a |
| g |
| e |
+---+
Теперь вы просто извлекаете нижнюю половину изображения и получаете исходное изображение, поворачиваясь на 90 градусов вокруг указанной точки X.
Надеюсь, это поможет!