Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Svga videodriver. Пожалуйста, помогите!!!!!!!!!  (Прочитано 4313 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Unreal21
Гость
« : 23-05-2004 11:41 » 

В общем есть следующас зача, необходимо выводить на экран изображение в зашифрованном виде (точней даже сильно зашумленным пожалуй так. Пришел к выводу что необходимо написать видеодрайвер. Подобным никогда не занимался, скажите гд е можно почиттать, поглядеть пример и т.д. И вообще реально ли за 5 дней это сделать? Или может у когонить есть исходники готовые? Или может я вообще не прав иможно както по другому (без драйвера) решить эту задачу?

ПОЖАЛУЙСТА ПОМОГИТЕ!!! Очень надо!
Записан
СергейСВ
Гость
« Ответ #1 : 24-06-2004 13:35 » 

Пример консольного приложения, которое рисует флаг РФ
на экране из предварительно сформированного массива пикселей,
формат которого не обязательно совпадает с форматом экрана.
(И быстро между прочим)

#include "windows.h"
#include "iostream.h"
#include "bitmapex.h"

void main(int argc, char* argv[])
{  HDC hdc;
   HBITMAP hbmp;
   BITMAPINFO info;
unsigned short int * bmbuf;
   int i,j;
  hdc=GetWindowDC(NULL);

info.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
info.bmiHeader.biBitCount=16;
info.bmiHeader.biClrImportant=0;
info.bmiHeader.biClrUsed=0;//65536;
info.bmiHeader.biCompression=BI_RGB;  // no compression
info.bmiHeader.biPlanes=1;
info.bmiHeader.biWidth =768;
info.bmiHeader.biHeight=-576;
cout<<"info.bmiHeader.biWidth =768;info.bmiHeader.biHeight=-576;"<<endl;
cout<<"info.bmiHeader.biClrUsed=32768;"<<endl;

hbmp=CreateDIBSection( hdc, &info, DIB_RGB_COLORS, (void**)&bmbuf,
    NULL, 0);
j=0x10000;
for (i=0; i<j; i++) bmbuf=0x4400;  //   red msb + lsb, max=7c00
j=0x20000;
for (i=i; i<j; i++) bmbuf=0x220;   // green msb + lsb, max=3e0
j=0x30000;
for (i=i; i<j; i++) bmbuf=0x11;    //  blue msb + lsb, max=1f
j=SetDIBitsToDevice( hdc, 150,50,
   512, 512, // Width and Height
   0, 0, 0, 512,
   &bmbuf[0], &info, DIB_RGB_COLORS);
cout<<j<<endl;
}
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines