Да, что-то в этом роде я и собираюсь сделать. Большое спасибо за помощь!
| Форум программистов «Весельчак У» |
|
|||
| Начало | Помощь | Поиск | Календарь | Почта | Войти | Регистрация |
|
1
: 10-07-2026 11:05
|
||
| Автор jur - Последний ответ от jur | ||
|
Да, что-то в этом роде я и собираюсь сделать. Большое спасибо за помощь!
|
||
|
2
: 08-07-2026 20:34
|
||
| Автор jur - Последний ответ от Джон | ||
|
Как простой вариант... Не знаю куда тут Direct2D засунуть, но если нужно сохранить "рисунок", то (псевдокод)
1 создаём ВМР с нужными параметрами, как основу DC pBitmap = new Bitmap(Width, Height, PixelFormat24bppRGB); pBitmap->SetResolution(...); pGraphics = Graphics::FromImage(pBitmap); pGraphics->Clear(Color::White); // любой другой цвет фона pGraphics->SetInterpolationMode(InterpolationModeHighQuality); при необходимости и в зависимости от разрешения 2 в pGraphics рисуем всё что надо, 3 сохраняем в файл CLSID clsID; GetCLSID(L"image/png", &clsID); pBitmap->Save(FileName, &clsID); |
||
|
3
: 07-07-2026 10:11
|
||
| Автор jur - Последний ответ от jur | ||
|
Я забыл уточнить. Сейчас я все рисую с помощью GDI+, а это делается с помощью CPU (а в некотором режиме работы программы окон сигнала до 6 шт.). Моя идея в том, чтобы задействовать аппаратное ускорение графики. Это позволяет сделать Direct2D. Т.е. я рисую статику, как и сейчас, с помощью GDI+, сохраняю нарисованное в битмап и затем быстро, с помощью Direct2D, вывожу её в окно. А потом только дорисовываю сигнал средствами Direct2D. Я с этой библиотекой раньше не работал и не знаю, как в ней добраться до пикселей в ID2D1Bitmap. Точнее, я до этого вопроса пока не добрался
![]() Кстати, я тут подумал, а может вывод в окно битмапа с сохраненной статикой средствами GDI+ тоже достаточно быстрый? Ведь это не рисование всех осей с нуля (с текстами, рисками и т.п.), а просто вывод готовой картинки? Надо бы попробовать... |
||
|
4
: 04-07-2026 05:03
|
||
| Автор jur - Последний ответ от Алексей++ | ||
|
jur, а что мешает рисовать всё на одном полотне ? На быстродействии это вряд ли скажется, а удобство повысится
![]() По библиотеке не подскажу, затрагивал её мало, да и не помню ничего. Но формат BMP известен, его легко вручную собрать, тем более, что для отладки (скорость не требуется) Вот, со студентами не так давно диаграмму Вороного наивным способом рисовали https://www.onlinegdb.com/kEdUaVEAD# только структуры BITMAPFILEHEADER, BITMAPINFOHEADER и вообще всё из файла "bitmap_headers.h" не нужно тащить, это в винде всё сразу есть Добавлено через 2 минуты и 14 секунд: можно ещё обратить внимание на функцию GetDIBits https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-getdibits |
||
|
5
: 03-07-2026 07:06
|
||
| Автор jur - Последний ответ от jur | ||
|
Привет!
Недавно начал работать с Direct2D. У меня есть ряд окон сигналов, которые рисуются с помощью этой библиотеки. В окне отображаются оси X и Y, а в основном поле окна рисуется сигнал. При этом оси не меняются, а меняется сам сигнал. Напрашивается разделение рисования статических элементов (оси) и самого сигнала. Для этого статика рисуется в битмап и выводится при обновлении окна. Затем к ней добавляется рисование сигнала. Это замечательно работает. Но мне понадобилось, в отладочных целях, сохранить битмап в файл (например PNG). Казалось бы что проще. Но не тут-то было. Неделю бодаюсь с этой проблемой - никак. Приснопамятный ИИ уже задрал. Он предлагает множество вариантов, но ни один не работает. Мне бы просто выцарапать из битмапа картинку в стиле GDI/GDI+, а дальше я без проблем ее сохраню. Подскажите, пожалуйста, как это сделать? P.S. Не нашел раздела подходящего под Direct2D. Переместите, пожалуйста, в правильный раздел. |
||
|
6
Программирование / Общий / Re: Ноутбук на Windows 11 сам просыпается ночью и греется в рюкзаке - как отучить?
: 03-06-2026 16:17
|
||
| Автор KeksWin365 - Последний ответ от HandKot | ||
|
еще как вариант: какое-нито стороннее ПО. тут уже смотреть автозагрузку
|
||
|
7
Программирование / Общий / Re: Ноутбук на Windows 11 сам просыпается ночью и греется в рюкзаке - как отучить?
: 03-06-2026 12:45
|
||
| Автор KeksWin365 - Последний ответ от RXL | ||
|
Нынче каждый может спросить гугл. Там, обычно, вполне адекватные решения: https://www.google.com/search?q=win11+запретить+автоматическое+пробуждение+компьютера
Для планировщика надо смотреть все задачи, вкладка Условия, галочка "Пробуждать коипьютер двя выполнения задачи". |
||
|
8
Программирование / Общий / Re: Ноутбук на Windows 11 сам просыпается ночью и греется в рюкзаке - как отучить?
: 03-06-2026 06:45
|
||
| Автор KeksWin365 - Последний ответ от HandKot | ||
|
Добрый день.
Возможно у вас в шедулере есть задачи, например, "обновить систему" Посмотрите по логам, в какое время у Вас происходит пробуждение и попробуйте найти задание на это время. Еще, как вариант, отключите автоматическое обновление системы |
||
|
9
Программирование / Общий / Ноутбук на Windows 11 сам просыпается ночью и греется в рюкзаке - как отучить?
: 02-06-2026 16:28
|
||
| Автор KeksWin365 - Последний ответ от KeksWin365 | ||
|
Ребята, ситуация бесит. Ноутбук Lenovo на Win 11. Кладу его в рюкзак в спящем режиме (крышку закрываю, лампочка мигает). Через час достаю - он горячий как утюг, вентиляторы крутятся, батарея упала с 80% до 30%. В журнале событий пишет "выход из режима сна по таймеру". Нашёл в настройках "разрешить таймеры" - отключил, не помогло. Гибернацию включать неудобно - долго загружается. Это глюк обновления или я что-то пропустил? Может, есть программа, которая показывает, что конкретно просыпает ноут?
|
||