Превращение массива в BMP в C#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Превращение массива в BMP в C#

Сообщение Anonymous »

У меня возникают проблемы с преобразованием серого массива INT (int32 [,]) в формат BMP в C#.
Я пытался ездить на велосипеде через массив, чтобы установить цвет пикселей в BMP, он действительно работает, но в итоге он действительно медленный и практически не используется. должен быть быстрым. < /p>

Соответствующее обсуждение здесь < /p>

Редактировать: массив составляет 8bit -глубину, но хранится как int32 < /p>

edit2: только что нашел этот код < /p>

private unsafe Task BitmapFromArray(Int32[,] pixels, int width, int height)
{
return Task.Run(() =>
{
Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb);
BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.WriteOnly, PixelFormat.Format24bppRgb);
for (int y = 0; y < height; y++)
{
byte* row = (byte*)bitmapData.Scan0 + bitmapData.Stride * y;
for (int x = 0; x < width; x++)
{
byte grayShade8bit = (byte)(pixels[x, y] >> 4);
row[x * 3 + 0] = grayShade8bit;
row[x * 3 + 1] = grayShade8bit;
row[x * 3 + 2] = grayShade8bit;
}
}
bitmap.UnlockBits(bitmapData);
return bitmap;
});
}
< /code>

, кажется, работает достаточно быстро, но изображение почти черное. Если я удаляю верхнюю часть камеры, изображение должно быть совершенно белым, но оно отображает действительно темно -серый. Я думаю, что это интерпретирует значение пикселя как 32 -битное, а не 8 -бит. Затем попытался разыграть (USHORT) пиксели [x, y], но не работает

Подробнее здесь: https://stackoverflow.com/questions/490 ... in-c-sharp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Превращение массива карт сетки в стройный объект
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Превращение массива карт сетки в стройный объект
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Превращение списка индексов в массив numpy
    Гость » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Гость
  • Превращение простого кодировщика текста Python в файл .exe для совместного использования с друзьями и семьей
    Anonymous » » в форуме Python
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • Превращение функции в метод
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»