Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как уменьшить размер и потребление памяти? 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 12:25