CPaintDC
Пробовал SaveDC/RestoreDC, но эти функции не сохраняют изображение
Как можно это сделать?
Можно прорисовывать где-нибудь кроме OnPaint?
Цитата:
Originally posted by lexus
Можно как-нибудь, прорисовав один раз в OnPaint, сохранить этот рисунок и в следующий раз заново не прорисовывать, а вывести уже готовое изображение?
Пробовал SaveDC/RestoreDC, но эти функции не сохраняют изображение
Как можно это сделать?
Можно прорисовывать где-нибудь кроме OnPaint?
Можно как-нибудь, прорисовав один раз в OnPaint, сохранить этот рисунок и в следующий раз заново не прорисовывать, а вывести уже готовое изображение?
Пробовал SaveDC/RestoreDC, но эти функции не сохраняют изображение
Как можно это сделать?
Можно прорисовывать где-нибудь кроме OnPaint?
Создай контекст устройства в памяти совместимый с тем в котором ты рисуешь. Во вновь созданном контексте устройства рисуй что тебе нужно, а затем его копируй в реальный контекст.
Цитата:
Originally posted by AndreySar
Создай контекст устройства в памяти совместимый с тем в котором ты рисуешь. Во вновь созданном контексте устройства рисуй что тебе нужно, а затем его копируй в реальный контекст.
Создай контекст устройства в памяти совместимый с тем в котором ты рисуешь. Во вновь созданном контексте устройства рисуй что тебе нужно, а затем его копируй в реальный контекст.
Какой функцией создавать контекст? И какой копировать? Если можно, приведи рабочий код.
Буду очень благодарен
Цитата:
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.
Цитата:
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.
//создаем временный контекст на основе существующего(где у тебя картинка - 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.
Это то, что я искал.Спасибо за помощь