Чтобы использовать, необходимо добавить файл FastBitmap.cs к солюшену.

Затем добавить в файле, в котором предполагается использовать быструю битмапу строку using FastBitmap;.

Затем предполагается использовать один или несколько из предложенных ниже вариантов:

// Пусть где-то тут объявлена переменная bitmap типа Bitmap;
  1. using(var fastBitmap = new FastBitmap(bitmap))
    {
     for(var x = 0; x < fastBitmap.Width; x++)
     for(var y = 0; y < fastBitmap.Height; y++)
     {
         var color = fastBitmap[x, y];
         fastBitmap[x, y] = Color.FromArgb(
             255 - color.R,
             255 - color.G,
             255 - color.B
         );
     }
    }
    // Здесть изменения уже попали в обычный bitmap
    
  2. bitmap.Select(color => {
     /* Преобразуем каждый пиксель в новый */
     var avg = (byte)((color.R + color.G + color.B) / 3.0);
     return new Color.FromArgb(avg, avg, avg);
    });
    
  3. var hist = new int[256];
    bitmap.ForEach(color => {
     /* Выполняем одно и то же действие для всех пикселей битмапы. */
     hist[color.R]++;
    });

Последнее изменение: суббота, 25 сентября 2021, 00:40