Как сделать так что бы программа по конвертации массива картинок заработала?

using System;
using System.IO;
using System.Drawing;
using System.Security.Cryptography.X509Certificates;

namespace ConsoleApp13
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] files = Directory.GetFiles(@"C:\SomeFolder", "*.JPG", SearchOption.AllDirectories);
            Bitmap[] bmpArr = new Bitmap[files.Length];
            for (int i = 0; i < bmpArr.Length; i++)
            {
                bmpArr[i] = new Bitmap(files[i]);
            }

            Image RotateImage(Bitmap[] bmpArr)
            {
                var img = new Bitmap(bmpArr);

                // using (Graphics gfx = Graphics.FromImage(bmpArr))
                // {
                //     gfx.Clear(Color.White);
                //     gfx.DrawBitmap(img, 0, 0, img.Width, img.Height);
                // }

                img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                return img;
            }
            RotateImage(bmpArr);
        }
    }
}

Ответы (2 шт):

Автор решения: Alexander Petrov

Просто проходим циклом по файлам, создаём объект Bitmap и поворачиваем изображение вызовом метода RotateFlip.

Методом Save повёрнутое изображение сохраняется. В данном случае по тому же пути, то есть старое изображение затрётся. Измените путь при необходимости.

Если для какой-то цели нужен массив, то раскомментируйте строки с ним.

string[] files = Directory.GetFiles(@"C:\SomeFolder", "*.JPG", SearchOption.AllDirectories);

Bitmap[] bitmaps = new Bitmap[files.Length];

for (int i = 0; i < files.Length; i++)
{
    var bitmap = new Bitmap(files[i]);
    bitmaps[i] = bitmap;
    bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);
    bitmap.Save(files[i]);
}

Если объекты Bitmap в дальнейшем не нужны для какой-либо цели, то нет смысла помещать их в массив. И нужно освободить занимаемые ими ресурсы.

string[] files = Directory.GetFiles(@"C:\SomeFolder", "*.JPG", SearchOption.AllDirectories);

for (int i = 0; i < files.Length; i++)
{
    using (var bitmap = new Bitmap(files[i]))
    {
        bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);
        bitmap.Save(files[i]);
    }
}
→ Ссылка
Автор решения: opal_tim
foreach (Image image in Directory
    .GetFiles(@"C:\SomeFolder", "*.jpg", SearchOption.AllDirectories)
    .Select(Bitmap.FromFile))
{
    image.RotateFlip(RotateFlipType.Rotate90FlipNone);
    image.Save("какая то ссылка дериктории");
};
→ Ссылка