Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
34 / 32 / 5
Регистрация: 29.08.2012
Сообщений: 84
Записей в блоге: 1

Не получается вывести Bitmap (пример из книги)

06.12.2012, 01:48. Показов 2123. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Учу ВинАПИ по книге "Азбука программирования в Вин32 АПИ" П.В. Румянцев

Споткнулся на примере вывода Битмапа в окно с масштабированием, в функции GetClientRect(), подсвечивается второй аргумент - Rect (класса RECT), пишет что функция ждет LPRECT и не существует алгоритма преобразования RECT в LPRECT, пробовал исменить тип переменной на LPRECT Rect, в этом случае ругается функция StrectchBlt()...



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RECT Rect;
 
case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        hBitmap = LoadImage(NULL, _T("1.BMP"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
        GetObject(hBitmap, sizeof(BITMAP), &Bitmap);
        hCompatibleDC = CreateCompatibleDC(hdc);
        hOldBitmap = SelectObject(hCompatibleDC, hBitmap);
        GetClientRect(hWnd, Rect);    // Вот тут подсвечивается Rect
        StretchBlt(hdc, 0, 0, Rect.right, Rect.bottom, hCompatibleDC, 0,0, Bitmap.bmWidth, Bitmap.bmHeight, SRCCOPY );
       
        SelectObject(hCompatibleDC, hOldBitmap);
        DeleteObject(hBitmap);
        DeleteDC(hCompatibleDC);
        EndPaint(hWnd, &ps);
        break;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2012, 01:48
Ответы с готовыми решениями:

Не получается воспроизвести пример из книги по графике на С
// draw move initgr как неопознанные, можно как-нибудь запустить данный код? Пользуюсь Visual Studio проект Win 32 main() { ...

Не получается воссоздать пример из книги Б.Керниган Д.Ритчи
Не могу разобраться, почему код приведённый из книги в примере выполняется бесконечно и при этом не выводит printf. "А теперь...

Пример создания нового экземпляра Bitmap
Здравствуйте! Нашла хороший пример работы с Bitmap на msdn (вот тут...

2
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
06.12.2012, 01:57
cosmic, попробуй передать &Rect. Чтобы передать указатель. Что и должно быть LPRECT, судя по названию.
0
34 / 32 / 5
Регистрация: 29.08.2012
Сообщений: 84
Записей в блоге: 1
06.12.2012, 01:59  [ТС]
Спасибо, помогло, в книге в этом примере опечатка наверно, пролистал дальше в похожих примерах предают указатель
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2012, 01:59
Помогаю со студенческими работами здесь

Дайте простой пример программы с использованием Bitmap
Просто кому не лень преведите простенькую программу в примеер с использованием bitmap а то сам не как не разберу как с ним работать, а в...

Не получается вернуть Bitmap
Собственно, сабж. ЧЯДНТ? Bitmap MainClass::GetGistBitmap(Bitmap bmp) { Bitmap b(bmp.Width,bmp.Height); return b; }

Не получается отобразить Bitmap на pictureBox
Есть метод, который строит изображение по битовому полю, и ивент, срабатывающий по нажатию на кнопку на форме. Проблема в том, что после...

Не получается сделать грамотное удаление Bitmap (освободить ресурсы)
Ситуация следующая, есть Bitmap, большого размера, по нажатию кнопки он перегенерируется исходя из данных. Bitmap ^bmRastr = gcnew...

В поле OLE вместо Bitmap Image получается Package
И вместо самой картинки отображается название документа


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru