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

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
eagl69
4 / 9 / 1
Регистрация: 12.10.2011
Сообщений: 498
#1

Растровая графика - C++ WinAPI

08.01.2017, 20:39. Просмотров 194. Ответов 0
Метки нет (Все метки)

Добрый день!
Взял из примера образец как выводить рисунок из ресурса, компилятор CODE BLOOCKS редвктор ресурсов RESEDIT:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    static int sx, sy;
    HDC hdc;
    HBITMAP hBitmap;
    static HDC memBit;
    static BITMAP bm;
    HBRUSH greenBrush = CreateSolidBrush(RGB(192,230,192));
 
    switch (message)                  /* handle the messages */
    {
    case WM_CREATE:
        {           
            SetClassLong(hwnd, GCL_HBRBACKGROUND, (LONG)greenBrush);//изменение цвета фона
            //загружаем изображение
            hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BITMAP1));//создание изображения
            GetObject(hBitmap, sizeof(bm), &bm);//получаем информацию об изображении
            hdc = GetDC(hwnd);
            memBit = CreateCompatibleDC(hdc);
            std::cout << hBitmap << '\n';
            if(SelectObject(memBit, hBitmap)) std::cout << "Рисунок выбран" << '\n';
            ReleaseDC(hwnd, hdc);
        }
        return 0;
    case WM_SIZE:
        sx = LOWORD(lParam);
        sy = HIWORD(lParam);
        break;
    case WM_PAINT:
        hdc = BeginPaint(hwnd, &ps);
        SetBkColor(hdc, RGB(192,230,192));
       
        BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, memBit, 0, 0, SRCCOPY);
        EndPaint(hwnd, &ps);
        break;
Но изображение не выводится...

Добавлено через 36 секунд
при этом во время отладки hBitmap = 0.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2017, 20:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Растровая графика (C++ WinAPI):

Растровая графика, картинка рисуется только один раз, без анимации - C++ WinAPI
Всем доброго времени суток! Есть такая функция: void Draw(HDC hdc, HDC memDC) { BitBlt(hdc, posX, posY, width, height, memDC,...

Растровая графика - Turbo Pascal
Разработать программу, включающую следующие алгоритмы: 1) Растровая развёртка отрезка по алгоритму Брезенхема с использованием процедуры...

Растровая графика нужен ли OpenGL? - Графика и игры
Доброго времени суток, мой вопрос мучает меня уже несколько месяцев.. Дело в том, что я пишу собственную механику (библиотеку) для...

GPS + растровая карта - Программирование Android
Добрый день Как привязать gps координаты к растровой карте? Карту сделал банально скриншотом из карт Гугл. Я так думаю надо сделать...

BitBlt (растровая маска) в C# - C#
Раньше (VB6) в GDI была такая функция BitBlt, которая работала с растровыми масками, один из цветов изображения можно было исключить....

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2017, 20:39
Привет! Вот еще темы с ответами:

Chart - диаграмма: изменить точность делений графика, установить центр графика в (0,0) - C#
Создал диаграмму (все прекрасно считается точки расставляются), но есть проблемыЖ 1. В случае диаграммы - &quot;Спектр амплитуд&quot;, series2 он...

Рисование графика: обработка новых входящих данных и движение графика на форме - C#
Подскажите каким способом можно вывести график частью главного окна программы, при чем график получает данные *в живую* с устройства по...

Автоматическое изменение графика при переносе данных, формулы и графика на другой лист - MS Excel
На первом листе, на основании каких-либо вычислений строим график, а затем полностью копируем первой лист на второй, а затем изменяем...

Построение графика производной для каждого графика из 3 режимов - Matlab
Дорогие друзья, прошу помочь доделать три программы. В каждой программе выводится по одному графику и нужно чтобы каждая программа выводила...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru