Таблица (двухмерный массив) в изображение(картинку)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Даниил Козлов
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 17.01.2004 (Сб) 20:35

Таблица (двухмерный массив) в изображение(картинку)

Сообщение Даниил Козлов » 17.01.2004 (Сб) 20:48

Обычно файл с изображением грузится в объект PictureBox или Picture оператором LoadImage. А что делать если надо вывести на экран изображение графического файла нестандартного формата. Логичное решение считать данные в массив и передать его значения пикселям PictureBox. Но как это сделать грамотно?
Рисование картинки по пиксельно очень долго. Подскажите, кто знает, более простой случай.

Спасибо

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 18.01.2004 (Вс) 3:12

1) А какой конкретно формат ты собрался грузить?
2) И уж конечно напрямую в PictureBox, это жестко, тормозить все будет не по детски. Надо создать образ в памяти а там рисовать, а вот что как раз зависит от пункта 1 и НЕ обязательно что это будет массив

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Даниил Козлов
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 17.01.2004 (Сб) 20:35

уточнение вопроса

Сообщение Даниил Козлов » 18.01.2004 (Вс) 13:48

Форматы то разные. Все они связаны с геоинформационными системами. Для конкретности остановимся на формате Idrisi32 с расширением .rst. Представляет собой бинарный файл с разрядностью byte, integer или single. Описание параметров изображения в дополнительном файле с расширением .rdc. Я легко считываю информацию из файлов и могу нарисовать изображение в PictureBox по пиксельно, но хочу знать более простой способ.

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Сообщение Хой » 18.01.2004 (Вс) 14:26

Хм, немного не понял значение слова экран.....
это чтоли напрямую в нулевой Z-Order?
Ну тогда нужно получить hDC "экрана" (WinAPI GetDC(0))
и пихать пиксели (WinAPI SetPixel) в его hDC
Пиксели пихаются быстро, долго считывается инфа из файла...
Ну ты можешь запихать байты из файла в массив, а потом SetPixel'лем их прилепить на экран...
*censored*

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.01.2004 (Пн) 11:00

И снова этот великий пример извлекается на свет :twisted:
http://old.vbstreets.ru/topic.asp?TOPIC ... hichpage=1
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, PetalBot, Yandex-бот и гости: 3

    TopList