Как вы заметили, отсканированная строка представляет собой ряд пикселей слева направо.Для каждого пикселя вертикальной высоты изображения имеется одна линия развертки.
Ваши изображения размером 1024px x 768px имеют 768 строк развертки.Копирование первой половины данных из линий сканирования дает вам верхнюю половину изображения.
Вам не нужно проходить каждый пиксель, вы можете пропустить его, поскольку все проиндексировано.
Однако, поскольку вы хотите обе половины, вы не теряете работу, выполняя все это.Выполняя итерацию по данным, копируйте одновременно левую и правую части.Таким образом, для первой строки сканирования скопируйте первую половину пикселей на левое изображение, а остальные пиксели - на правое изображение, перейдите к следующей строке и повторите.
Это должно быть меньше работы, чем DrawBitmapдважды.
Кроме того, вместо загрузки изображения, его отображения, затем разделения, разделения при загрузке изображения.
Вам все равно понадобится цикл, если вы не хотитеписать все 768 раз.
Технически, вы можете вращать изображение и делать его так, как вы хотите, но вращение тоже потребует циклов, и вам придется повернуть его обратно, когда вы закончите.