То, что вы просите сделать, буквально невозможно. Посмотрите на диаграмму:
С левой стороны вы нарисовали пиксели, которые сами ориентированы по диагонали. Но это не то, как пиксели на самом деле ориентируются в исходном растровом изображении. Исходное растровое изображение будет иметь квадратные пиксели, ориентированные по горизонтали и вертикали.
Итак, давайте просто рассмотрим небольшой фрагмент исходного изображения:
Рассмотрим эти четыре пикселя. На чертеже вы можете видеть, что по горизонтали и вертикали верхний и нижний пиксели перекрывают левый и правый пиксели. Более конкретно, если мы наложим фактическую ориентацию пикселей исходного растрового изображения на предложенные вами местоположения исходных пикселей, мы получим что-то вроде этого:
Asвы можете видеть, когда вы пытаетесь получить значение пикселя, который в конечном итоге станет верхним правым пикселем целевого изображения, вы запрашиваете верхний пиксель в этой группе из четырех. Но этот верхний пиксель фактически состоит из двух разных пикселей исходного изображения!
Суть: если визуальное изображение, которое вы пытаетесь скопировать, будет вращаться в процессе копирования, нет взаимно однозначного соответствия между исходными и целевыми пикселями .
Конечно, алгоритмы повторной выборки, которые обрабатывают этот вид геометрической проекции, действительно применяют концепции , аналогичные тем, которыеты предлагаешь. Но они делают это математически обоснованным способом, при котором пиксели обязательно объединяются или интерполируются по мере необходимости, чтобы отобразить квадратные, горизонтально и вертикально ориентированные пиксели от источника, к квадратным, горизонтально и вертикально ориентированным пикселям в цели. .
Единственный способ получить буквально то, что вы просите - отобразить пиксели один на один без какого-либо изменения самих фактических значений пикселей, - это иметь дисплей, которыйсам вращался.
Теперь все, что говорит: я утверждаю, что вы пытаетесь решить проблему, которая не только не разрешима, но и не стоит решать .
Разрешение экрана на современных вычислительных устройствах настолько высокое, даже на телефоне, который у вас, вероятно, есть рядом с вами или в вашем кармане, что повторная выборка, которая происходит при повороте растровых изображений, не имеет никакого значения для человеческого восприятия растрового изображения.
Просто сделай это обычным способом. Это будет работать нормально.