C++ 将dodle-like函数后的客户端区域保存为图像

C++ 将dodle-like函数后的客户端区域保存为图像,c++,opencv,wxwidgets,codeblocks,C++,Opencv,Wxwidgets,Codeblocks,我有一个应用程序,用户可以像在油漆上一样绘制形状。我想保存用户创建的工作区,并将其保存为.png图像。我在代码块中使用Wxwidgets。我使用opencv实现图像处理功能 提前感谢。以下是如何做到这一点的概要: 不是绘制到显示DC,而是绘制到wxMemoryDC 当您准备好显示图像时,将内存DC切换到显示DC 准备将图像保存到文件时,请从内存DC中选择位图 将位图保存到文件 wxMemoryDC memDC; wxBitmap bitmap(200, 200); memDC.SelectObj

我有一个应用程序,用户可以像在油漆上一样绘制形状。我想保存用户创建的工作区,并将其保存为.png图像。我在代码块中使用Wxwidgets。我使用opencv实现图像处理功能


提前感谢。

以下是如何做到这一点的概要:

不是绘制到显示DC,而是绘制到wxMemoryDC

当您准备好显示图像时,将内存DC切换到显示DC

准备将图像保存到文件时,请从内存DC中选择位图

将位图保存到文件

wxMemoryDC memDC;
wxBitmap bitmap(200, 200);
memDC.SelectObject(bitmap);
memDC.SetBackground(*wxWHITE_BRUSH);
memDC.Clear();
memDC.SetPen(*wxRED_PEN);
memDC.SetBrush(*wxTRANSPARENT_BRUSH);
memDC.DrawRectangle(wxRect(10, 10, 100, 100));
memDC.SelectObject(wxNullBitmap);
bitmap.SaveFile("fname.png",wxBITMAP_TYPE_PNG);