Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 29.04.2019, 12:04   #1
taras-proger77
Форумчанин
 
Регистрация: 17.12.2018
Сообщений: 382
Репутация: -137
По умолчанию Размер контекста памяти

Петзолдт в своей книге пишет, что контекст памяти по умолчанию создаётся размером в 1 пиксел. Логично, что копировать его функцией BitBlt толку мало, результат просто не будет виден. Дальше Петзолдт выбирает готовый битмэп в контекст памяти, чтоб увеличить размер контекста. Но он это делает для нужд DrawBitmap, которая и должна нарисовать готовый битпэп, загруженный LoadBitmap. А как задать размер, вычисленный на этапе исполнения?
taras-proger77 вне форума   Ответить с цитированием
Старый 29.04.2019, 14:09   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,835
Репутация: 1860
По умолчанию

Цитата:
Сообщение от taras-proger77 Посмотреть сообщение
А как задать размер, вычисленный на этапе исполнения?
Создать битмап нужного размера и выбрать его в контекст памяти.
waleri на форуме   Ответить с цитированием
Старый 29.05.2019, 09:27   #3
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Адрес: Московская Область, скверное место, не рекомендовал бы тут жить.
Сообщений: 359
Репутация: 248
По умолчанию

Не просто 1x1 пиксель, а ещё и монохромный.
Вроде как он и не создаётся даже, а просто устанавливается как этакий сток-объект. И потому удалять его не требуется.

И у контекста нет "размера", лишь координаты типом int ограничены. Размер есть только у выбранного в него битмапа.
ResourceSpace вне форума   Ответить с цитированием
Старый 30.05.2019, 06:56   #4
taras-proger77
Форумчанин
 
Регистрация: 17.12.2018
Сообщений: 382
Репутация: -137
По умолчанию

Ну не толковать же про размер кэнвеса на голом АПИ.
taras-proger77 вне форума   Ответить с цитированием
Старый 01.06.2019, 15:47   #5
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Адрес: Московская Область, скверное место, не рекомендовал бы тут жить.
Сообщений: 359
Репутация: 248
По умолчанию

Не очень понял фразу...
HDC не имеет размеров, потому что это глобальное понятие, в плане как "плоскость" - у плоскости ж нет размеров, она бесконечна.

Цитата:
Сообщение от taras-proger77 Посмотреть сообщение
Петзолдт выбирает готовый битмэп в контекст памяти, чтоб увеличить размер контекста.
э... Нет. Чтоб рисовать на данном вот битмапе, а не чтоб что-то там "увеличивать".
ResourceSpace вне форума   Ответить с цитированием
Старый 03.06.2019, 09:29   #6
taras-proger77
Форумчанин
 
Регистрация: 17.12.2018
Сообщений: 382
Репутация: -137
По умолчанию

Но фактический ввывод на HDC работает лишь на части плоскости. И эта часть меньше, чем от (-2147483648, -2147483648) до (2147483647, 2147483647).
taras-proger77 вне форума   Ответить с цитированием
Старый 03.06.2019, 09:32   #7
taras-proger77
Форумчанин
 
Регистрация: 17.12.2018
Сообщений: 382
Репутация: -137
По умолчанию

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
э... Нет. Чтоб рисовать на данном вот битмапе, а не чтоб что-то там "увеличивать".
Вот как раз на нём то он и не рисует, это готовый битмап, загруженный из ресурса. В отличие как раз от моего проекта, я пытался рисовать на битмапе перед тем, как скопировать результат.

Последний раз редактировалось taras-proger77; 03.06.2019 в 09:42.
taras-proger77 вне форума   Ответить с цитированием
Старый 04.06.2019, 14:23   #8
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Адрес: Московская Область, скверное место, не рекомендовал бы тут жить.
Сообщений: 359
Репутация: 248
По умолчанию

Это зависит исключительно от устройства. На какие-нибудь может и по всей Integer.
Суть в том что понятие HDC в принципе не описывает размеров да и не должно. За такими частностями должны следить другие механизмы.

Ну ок. Не только "чтоб рисовать на нём" - ещё можно и "чтоб выводить его куда-то ещё".
Откуда мне знать что есьм этот "Петзолдт" и чего там вообще делается...

Лучше саму задачу опишите.
ResourceSpace вне форума   Ответить с цитированием
Старый 04.06.2019, 23:48   #9
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,835
Репутация: 1860
По умолчанию

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Откуда мне знать что есьм этот "Петзолдт"
Эээ, батенька, классику знать надо
waleri на форуме   Ответить с цитированием
Старый 06.06.2019, 18:40   #10
taras-proger77
Форумчанин
 
Регистрация: 17.12.2018
Сообщений: 382
Репутация: -137
По умолчанию

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Ну ок. Не только "чтоб рисовать на нём" - ещё можно и "чтоб выводить его куда-то ещё".
Чарлз Петзолдт на битмапе ре рисовал вообще.
taras-proger77 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уменьшить размер и потребление памяти? the27mart Общие вопросы C/C++ 2 21.10.2012 20:26
Размер ячейки памяти и указатели DartVedro Общие вопросы C/C++ 5 19.10.2012 22:32
Размер памяти процесса ZaRDaK Общие вопросы Delphi 5 25.09.2010 23:48
Максимальный размер занимаемой памяти Alex Cones Общие вопросы Delphi 8 06.05.2009 22:37
Размер доступной оперативной памяти xakzona Win Api 1 27.02.2009 13:25


23:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru