| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Image из массива байтов |
| Автор: sindi8 23.8.2006, 18:04 |
| Доброго времени суток! Появилась у меня задачка - написать парсер для TGA-файлов. Описание формата найдено, код парсинга написан - и появился совершенно неожиданный вопрос - как теперь всё это дело в PictureBox-е отобразить? В результате разбора формата у меня имеется массив, каждый элемент которого соответствует цвету точки RGB (+Alpha). Подскажите пожалуйста, как мне теперь эти точки скормить PictureBox-у. Интуитивно кажется что Stream использовать нужно, но в каком формате подавать данные? Понятно что можно взять описание BMP-формата, и кодировать в него. Но может есть какой-то более независимый от формата способ? Спасибо. |
| Автор: wotker 23.8.2006, 18:28 |
| создай новый битмап. в двойном цикле каждому пикселу присвой значение с помощью твоей матрицы. потом отобрази этот битмап на контроле |
| Автор: marcusmae 23.8.2006, 19:39 |
| там есть аттрибут PixelFormat - возможно, нужно будет выставить этот формат для битмапа, причём с соответствующим TGA количеством байтов под каждый цвет. Добавлено @ 19:52 а вообще предложенный wotker способ не очень быстрый. По-лучше будет с помощью System.Drawing.Bitmap.FromStream(...), установив формат битмапа соотвествующим формату элементов в потоке. |