Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

CreateDIBSection - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка: "Stack around the variable was corrupted" http://www.cyberforum.ru/cpp-beginners/thread291709.html
во время компиляции выскакивает такая ошибка как на скриншоте!!! код программы в архиве!!!кто может подскажите в чем проблема
C++ Рисунок в С++: Плывущий Корабль Задание: Нарисовать рисунок в С++. Плывущий Корабль. Как его зделать? http://www.cyberforum.ru/cpp-beginners/thread291702.html
C++ Отображение структури в память
Структура с++ отличается от структури delphi. Как их виревнять? я немогу доступится к даним C++ размер 4210068 typedef wchar_t MasOfWChar; typedef MasOfWChar TSyncUpdate; typedef...
форматированный ввод из файла, fscanf не считывает значения из файла: возвращает 0, C++
Для ввода использую библиотеку <stdio.h>, в функции, представленной дальше, файл в одном компиляторе открывается, в другом даже не открывается, но главное, что меня интересует - почему fscanf не...
C++ Класс Строки http://www.cyberforum.ru/cpp-beginners/thread291681.html
Не могли бы подсказать правильно ли тут всё сделано? и как реализовать все эти действия над строками? /*Описать класс для представления строки символов. Предусмотреть методы для: • Доступа к...
C++ Найти сумму 15 членов ряда 1.Вычислить z=summa(1.2*x, y-10).Вычислить оформить в виде функции. 2.Найти сумму 15 членов ряда общий член которого an=(ln*(n!))/(n!)^3,при этом n! вычислить в виде функции подробнее

Показать сообщение отдельно
nelly
0 / 0 / 0
Регистрация: 17.10.2009
Сообщений: 3

CreateDIBSection - C++

09.05.2011, 14:53. Просмотров 954. Ответов 0
Метки (Все метки)

Помогите, пожалуйста. Если biBitCount 32, то работает нормально. А при 8 (или любом другом) при заполнении Bits ошибка "... 0xC0000005: Access violation writing location 0x00d43000." Как это дело исправить, чтоб для 8 работало?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    void* Bits;
    PBITMAPINFO bpih = (BITMAPINFO*) LocalAlloc(LPTR, sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256);// = {sizeof(BITMAPINFOHEADER),w,-h,1,32,BI_RGB,0,0,0,0,0};
    bpih->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    bpih->bmiHeader.biWidth = w;
    bpih->bmiHeader.biHeight = -h;
    bpih->bmiHeader.biPlanes = 1;
    bpih->bmiHeader.biBitCount = 8;
    bpih->bmiHeader.biCompression = BI_RGB;
    bpih->bmiHeader.biSizeImage = 0;
    bpih->bmiHeader.biXPelsPerMeter = 0;
    bpih->bmiHeader.biYPelsPerMeter = 0;
    bpih->bmiHeader.biClrUsed = 0;
    bpih->bmiHeader.biClrImportant = 0;
    HBITMAP bm1 = CreateDIBSection(hdc, bpih, DIB_RGB_COLORS, &Bits, 0, 0);
    for(int y = 0;y < h;y++)
            {
                for(int x = 0; x < w; x++)
                {
                    ((unsigned*)Bits)[y*w+x] = RGB(0,0,255);//(dst[y][x].b,dst[y][x].g,dst[y][x].r);
                }
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru