Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Вывод изображений в framebuffer


Автор: HellMilitia 10.12.2010, 11:22
Доброго дня!

Хотелось бы увидеть примеры(статьи, сорсы) работы с фрэймбуффером в linux, например вывод изображений.
Искал достаточно долго, но не нашёл, видимо у меня другой google .(

Спасибо.

Автор: VAXVAX 10.12.2010, 13:38
попробую воспользоватся советом,сенкс smile 

Автор: Cheloveck 10.12.2010, 15:00
HellMilitia, SDL умеет в framebuffer гадитьрисовать

Автор: bsa 10.12.2010, 16:13
HellMilitia, http://en.wikipedia.org/wiki/DirectFB

Автор: proc_maker 11.1.2011, 12:32
Или ручками:

Код

         mpDevice = "/dev/fb0";
         mFd = open(mpDevice, O_RDWR);

         if (-1 == mFd)
         {
            ERROR("Unable to open %s: %s", mpDevice, COperationSystem::strerrno());
            break;
         }


         if (-1 == ioctl(mFd, FBIOGET_VSCREENINFO, &sInitScreenInfo))
         {
            ERROR("Unable to ioctl: %s", COperationSystem::strerrno());
            break;
         }

         mMemSize = sInitScreenInfo.xres * sInitScreenInfo.yres * sInitScreenInfo.bits_per_pixel / 8;
         if (MAP_FAILED == (mpMemory = mmap(0, mMemSize, PROT_READ | PROT_WRITE, MAP_SHARED, mFd, 0)))
         {
            ERROR("Unable to mmap: %s", COperationSystem::strerrno());
            break;
         }

         // Заливаем черным цветом
         memset(mpMemory, 0, mMemSize);

        // и т.д. В mpMemory у нас лежит матрица точек размером mMemSize в каком-то формате (см св-ва фреймбуфера). У меня в RGBA16, т.е. 4 бита на R, 4 бита на G, 4 бита на B и 4 бита на Alfa


Удачи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)