Любой поворот можно сделать 3-мя сдвигами. Например горизонтальным, вертикальным, и опять горизонтальным.
Для 90 градусов, эти сдвиги будут с коэффициентом 1, а значит точные.
Немного наглядности, для квадратика 4х4
Для 8х8 аналогично получается. Вертикальные сдвиги можно проводить поэтапно: сначала сдвинуть на 1 биты по маске 55H; потом на 2 по маске 33H; и на 4 по маске 0FH.Код:abcd efgh исходный квадрат ijkl mnop abcd fghe < klij << pmno <<< - сдвигаем строки влево 0123 - сдвигаем столбцы вниз amie fbnj kgco plhd miea >>> - сдвигаем строки вправо njfb >> okgc > plhd и получили повёрнутый квадрат
Для углов не кратных 90 сдвиги будут давать некоторую погрешность. Но поскольку при сдвигах, ни один пиксель не потеряется, то погрешность отразится на их положении, но не на плотности.


Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
