OSDev

для всех
Текущее время: 20 апр 2024, 12:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 20:29 

Зарегистрирован: 04 мар 2018, 21:34
Сообщения: 55
Добрый вечер! Спасибо всем большое за помощь, у меня остался лишь один вопрос, и это точно с:

Нет желания прямо сейчас "делать" файловую систему, но есть желание вывести изображение на экран. Можно ли это реализовать и как?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 20:39 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Определить массив-константу, содержащий требуемое изображение, и скопировать его в видеопамять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 20:58 

Зарегистрирован: 04 мар 2018, 21:34
Сообщения: 55
Вы подразумеваете массив пикселей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 21:16 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
По сути, да. При желании тем же путём можно и BMP впихнуть, и JPEG, и что душе угодно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 21:21 

Зарегистрирован: 04 мар 2018, 21:34
Сообщения: 55
Понял, Спасибо. А какой самый быстрый способ получить этот массив? Наверное написать прогу для получения списка пикселей, или же есть уже методы побыстрее?))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 22:07 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Ну, кто-нибудь, может, уже написал и выложил такое... А так, да -- написать прогу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 13 мар 2018, 23:01 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Здесь есть несколько ответов на английском, надеюсь разберёшься
https://stackoverflow.com/questions/870 ... code-array
Например в Linux есть утилита
xxd -i ФАЙЛ >РЕЗУЛЬТАТ
которая преобразует байты файла в исходник на C
Код:
unsigned char temp[] = {
  0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,
  0x0a
};
unsigned int temp_len = 13;


Либо скомпилировать несколько примеров, которые делают тоже самое.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 14 мар 2018, 13:34 

Зарегистрирован: 04 мар 2018, 21:34
Сообщения: 55
Himik писал(а):
Здесь есть несколько ответов на английском, надеюсь разберёшься
https://stackoverflow.com/questions/870 ... code-array


Да, действительно, тут все описано хорошо, но дальше я встал в тупик. Снова. Как быть с этим массивом и получить из него долгожданные пиксели? И как поступить оптимальнее? Ведь 1024х768 слишком долгий цикл получится..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 14 мар 2018, 15:32 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Вот (во вложении) программа для конвертации двоичного файла в код. В архиве исходник и скомпилированный файл.


Вложения:
Комментарий к файлу: Конвертор двоичного файла в массив C.
bin2c.zip [2.74 КБ]
Скачиваний: 302

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод изображения bmp
СообщениеДобавлено: 14 мар 2018, 17:02 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
https://upload.wikimedia.org/wikipedia/ ... Format.png

BMP простой формат там заголовок и массив пикселей. Вам ещё потребуется на всякий случай конвертер 24 в 32 бита.

Цитата:
И как поступить оптимальнее? Ведь 1024х768 слишком долгий цикл получится..

Нетак уж это и долго. Это если грубо говоря 1 миллион машинных инструкций или грубо говоря 1 мс (1000 FPS). Так что это недолгий цикл.
Перепишете на SSE будет ускорите в 4 а может и более раз. И да не забудьте, что SSE надо включить вначале.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB