OSDev http://osdev.su/ |
|
Вывод изображения bmp http://osdev.su/viewtopic.php?f=6&t=1886 |
Страница 1 из 2 |
Автор: | grenders22 [ 13 мар 2018, 20:29 ] |
Заголовок сообщения: | Вывод изображения bmp |
Добрый вечер! Спасибо всем большое за помощь, у меня остался лишь один вопрос, и это точно с: Нет желания прямо сейчас "делать" файловую систему, но есть желание вывести изображение на экран. Можно ли это реализовать и как? |
Автор: | SII [ 13 мар 2018, 20:39 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
Определить массив-константу, содержащий требуемое изображение, и скопировать его в видеопамять. |
Автор: | grenders22 [ 13 мар 2018, 20:58 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
Вы подразумеваете массив пикселей? |
Автор: | SII [ 13 мар 2018, 21:16 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
По сути, да. При желании тем же путём можно и BMP впихнуть, и JPEG, и что душе угодно. |
Автор: | grenders22 [ 13 мар 2018, 21:21 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
Понял, Спасибо. А какой самый быстрый способ получить этот массив? Наверное написать прогу для получения списка пикселей, или же есть уже методы побыстрее?)) |
Автор: | SII [ 13 мар 2018, 22:07 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
Ну, кто-нибудь, может, уже написал и выложил такое... А так, да -- написать прогу. |
Автор: | Himik [ 13 мар 2018, 23:01 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
Здесь есть несколько ответов на английском, надеюсь разберёшься 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; Либо скомпилировать несколько примеров, которые делают тоже самое. |
Автор: | grenders22 [ 14 мар 2018, 13:34 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
Himik писал(а): Здесь есть несколько ответов на английском, надеюсь разберёшься https://stackoverflow.com/questions/870 ... code-array Да, действительно, тут все описано хорошо, но дальше я встал в тупик. Снова. Как быть с этим массивом и получить из него долгожданные пиксели? И как поступить оптимальнее? Ведь 1024х768 слишком долгий цикл получится.. |
Автор: | Yoda [ 14 мар 2018, 15:32 ] | ||
Заголовок сообщения: | Re: Вывод изображения bmp | ||
Вот (во вложении) программа для конвертации двоичного файла в код. В архиве исходник и скомпилированный файл.
|
Автор: | pavia [ 14 мар 2018, 17:02 ] |
Заголовок сообщения: | Re: Вывод изображения bmp |
https://upload.wikimedia.org/wikipedia/ ... Format.png BMP простой формат там заголовок и массив пикселей. Вам ещё потребуется на всякий случай конвертер 24 в 32 бита. Цитата: И как поступить оптимальнее? Ведь 1024х768 слишком долгий цикл получится.. Нетак уж это и долго. Это если грубо говоря 1 миллион машинных инструкций или грубо говоря 1 мс (1000 FPS). Так что это недолгий цикл. Перепишете на SSE будет ускорите в 4 а может и более раз. И да не забудьте, что SSE надо включить вначале. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |