Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: CactusZОтветов: 1

Я хотел бы создать двумерный массив пикселей, а затем сохранить его в файле .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?
  • Пожалуйста, покажите, что вы пробовали VladL 01.02.2014

arraysbitmap2dbmp

Ответы

Ответ 1 · рейтинг 1 · aloisdg

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

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

using System.Drawing.Bitmap;

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы