我在dialog::OnPaint()中实现了将图片拉伸。然后在上边画图形。
然而我在画图形时也响应了OnPaint()这又使图片拉伸而出现闪耀现象,我想实现只将图片拉伸一次,然后在图片上画图形。
我该怎么处理?我想将拉伸后的图片保存到内存中,然后画图形时就不需要在做图片拉伸处理。
谢谢。。
CBitmap stretchbmp;
memDC.SelectObject((HBITMAP)theImage);
stretchDC.CreateCompatibleDC(pDC);
int savestrecthDC=stretchDC.SaveDC();
stretchbmp.CreateCompatibleBitmap(pDC,ImageRect.Width(),ImageRect.Height());
stretchDC.SelectObject(stretchbmp);
stretchDC.StretchBlt(0,0,ImageRect.Width(),ImageRect.Height(),&memDC,0,0,m_size.cx,m_size.cy,SRCCOPY);
上面这段程序是做图片拉伸的。 我想只做一次,然后画图行时,不处理图片拉伸。
谢谢指导。我挺急的
然而我在画图形时也响应了OnPaint()这又使图片拉伸而出现闪耀现象,我想实现只将图片拉伸一次,然后在图片上画图形。
我该怎么处理?我想将拉伸后的图片保存到内存中,然后画图形时就不需要在做图片拉伸处理。
谢谢。。
CBitmap stretchbmp;
memDC.SelectObject((HBITMAP)theImage);
stretchDC.CreateCompatibleDC(pDC);
int savestrecthDC=stretchDC.SaveDC();
stretchbmp.CreateCompatibleBitmap(pDC,ImageRect.Width(),ImageRect.Height());
stretchDC.SelectObject(stretchbmp);
stretchDC.StretchBlt(0,0,ImageRect.Width(),ImageRect.Height(),&memDC,0,0,m_size.cx,m_size.cy,SRCCOPY);
上面这段程序是做图片拉伸的。 我想只做一次,然后画图行时,不处理图片拉伸。
谢谢指导。我挺急的
解决方案 »
- WSASend 如果没有send成功应该返回神马啊?如何在WSASend后判断有没send出去?
- 如何让一个WSAAccept挂起一个线程正常退出?
- 如何在资源管理器中选定一个EXECL文件并打开?
- 请问有没有介绍MFC控件类全面一点的书啊
- 关于运动模糊图象恢复算法
- 怎么样可以使CStatic类定义的对象变成灰白的,即disabled掉,不准在资源中改。
- 请教一个关于超类和子类化的问题!
- vc++和sql server 作数据仓库,程序接口用,ODBC,DAO,ADO,or OLE DB?
- 各位前辈!请问工作站如何与服务器对时?
- 如何用程序控制关机或重启?
- 如何读取图象属性?
- [醒目]C#几乎无法和C++程序互相调用
void CMyDialog::DrawMyShape()
{
CDC *pDC=GetDC();
// .....
// 利用pDC进行画图。
// .....
ReleaseDC(pDC);
}
:我是在图片背景上画图的。
背景图片拉伸操作是在OnPaint()中。
而在画图时也要相应OnPaint()啊,如果按你所说,图形怎么显示了?
还是不会。
2、新建一个wind用于画图!
能不能把拉伸的图片保存起来,下次就不需要 处理拉伸。。怎么保存。怎么调用,,,请指导急!
想其他办法吧