将WxWindow保存为Retina显示屏上的wxBitmap无法正常工作

时间:2017-01-02 15:20:19

标签: wxwidgets

我正在尝试截取窗口的截图。我使用了以下代码。

wxClientDC bgdc(this);

int width = bgdc.GetSize().GetWidth();
int height = bgdc.GetSize().GetHeight();

//Create a Bitmap that will later on hold the screenshot image
//Note that the Bitmap must have a size big enough to hold the screenshot
//-1 means using the current default colour depth
wxBitmap bmpWin = wxBitmap(m_width, m_height, -1);

wxMemoryDC memDC;
memDC.SelectObject(bmpWin);
memDC.Blit(0, 0, width, height, &bgdc, 0, 0);

wxASSERT(bmpWin.IsOk());

此代码在Windows下完美运行。 在Mac上,我面临着这个问题。捕获的位图被缩放(按2x)并超出宽度和高度值,因此被剪裁。

我不确定代码有什么问题。

注意*这只发生在Retina显示屏上

0 个答案:

没有答案