Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CPaintDC

390
20 апреля 2006 года
lexus
143 / / 13.04.2004
Можно как-нибудь, прорисовав один раз в OnPaint, сохранить этот рисунок и в следующий раз заново не прорисовывать, а вывести уже готовое изображение?
Пробовал SaveDC/RestoreDC, но эти функции не сохраняют изображение
Как можно это сделать?
Можно прорисовывать где-нибудь кроме OnPaint?
324
20 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by lexus
Можно как-нибудь, прорисовав один раз в OnPaint, сохранить этот рисунок и в следующий раз заново не прорисовывать, а вывести уже готовое изображение?
Пробовал SaveDC/RestoreDC, но эти функции не сохраняют изображение
Как можно это сделать?
Можно прорисовывать где-нибудь кроме OnPaint?



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

390
20 апреля 2006 года
lexus
143 / / 13.04.2004
Цитата:
Originally posted by AndreySar
Создай контекст устройства в памяти совместимый с тем в котором ты рисуешь. Во вновь созданном контексте устройства рисуй что тебе нужно, а затем его копируй в реальный контекст.


Какой функцией создавать контекст? И какой копировать? Если можно, приведи рабочий код.
Буду очень благодарен

406
20 апреля 2006 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by lexus
Какой функцией создавать контекст? И какой копировать? Если можно, приведи рабочий код.
Буду очень благодарен



//создаем временный контекст на основе существующего(где у тебя картинка - hdc_src)
//nWidth, nHeight - размеры твоей исходной картинки
HDC tmp_dc=CreateCompatibleDC(hdc_src);
HBITMAP tmp_hbm=CreateCompatibleBitmap ( hdc_src, nWidth, nHeight );
SelectObject(tmp_dc,tmp_hbm);
BitBlt(tmp_dc,0,0,nWidth, nHeight,hdc_src,0,0,SRCCOPY);

Все терь в tmp_dc сохранена картинка взятая с hdc_src.

390
21 апреля 2006 года
lexus
143 / / 13.04.2004
Цитата:
Originally posted by vitaly2003s
//создаем временный контекст на основе существующего(где у тебя картинка - hdc_src)
//nWidth, nHeight - размеры твоей исходной картинки
HDC tmp_dc=CreateCompatibleDC(hdc_src);
HBITMAP tmp_hbm=CreateCompatibleBitmap ( hdc_src, nWidth, nHeight );
SelectObject(tmp_dc,tmp_hbm);
BitBlt(tmp_dc,0,0,nWidth, nHeight,hdc_src,0,0,SRCCOPY);

Все терь в tmp_dc сохранена картинка взятая с hdc_src.


Это то, что я искал.Спасибо за помощь

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог