Сгенерировать изображение .bmp на С#

Я хотел бы создать двумерный массив пикселей, а затем сохранить его в файле .bmp. Я читал о растровых изображениях, но не совсем понимаю, как преобразовать двумерные массивы целых чисел в растровое изображение.

Это то, что я уже нашел и попытался сделать

        // Create array of integers
        int width = 1024;
        int height = 768;
        int[] integers = new int[width * height];

        // Fill array with random values
        Random random = new Random();
        for (int i = 0; i < integers.Length; ++i)
        {
            integers[i] = random.Next(Int32.MaxValue);
        }

        // Copy into bitmap
        Bitmap bitmap;
        unsafe
        {
            fixed (int* intPtr = &integers[0])
            {

            bitmap = new Bitmap(width, height, width, PixelFormat.Format32bppRgb, new IntPtr(&integers[0]));
            }
        }

Однако я до сих пор не понимаю эту часть

        // Copy into bitmap
        Bitmap bitmap;
        unsafe
        {
            fixed (int* intPtr = &integers[0])
            {

            bitmap = new Bitmap(width, height, width, PixelFormat.Format32bppRgb, new IntPtr(&integers[0]));
            }
        }
  1. Компилятор сообщает: Не удалось найти тип или имя пространства имен «Bitmap» (вы пропустили директиву using или ссылку на сборку?)
  2. Как я могу поместить это в файл bmp?

person CactusZ    schedule 01.02.2014    source источник
comment
Пожалуйста, покажите, что вы пробовали   -  person VladL    schedule 01.02.2014


Ответы (1)


Старый добрый компилятор... пробовали ли вы его предложение?

Добавьте эту строку в начало вашего файла:

using System.Drawing.Bitmap;

Если вы хотите больше: проверьте msdn .

Кстати, вы можете щелкнуть правой кнопкой мыши на Bitmap и выбрать Resolve, чтобы сделать это. Это простой способ.

Чтобы сохранить изображение в файл, есть разные способы сделать это. Это зависит от того, на какой платформе вы находитесь. Я думаю, вам следует посмотреть в WriteableImageEx или здесь или здесь

person aloisdg    schedule 01.02.2014
comment
Не все ошибки решаются предложениями VS, но это правильный ответ. - person Ilan; 01.02.2014
comment
Конечно, вам, возможно, придется добавить ссылку, если у вас ее нет. - person aloisdg; 01.02.2014
comment
Спасибо. Проблема с Bitmap решена. Но как я могу сохранить растровое изображение в файле .bmp? - person CactusZ; 02.02.2014
comment
Я только что отредактировал свой ответ на второй вопрос. - person aloisdg; 02.02.2014
comment
Большое спасибо! Вы помогли мне! Теперь работает нормально) - person CactusZ; 02.02.2014
comment
Просто проверьте, что проблема решена, и будьте счастливы в программировании на С#! - person aloisdg; 02.02.2014