为了获得一些平滑的图形,我想通过因子 2 绘制过采样然后按比例缩小。
所以我正在做的是在wxMemoryDC中的wxBitmap上绘制过采样,然后在复制到我的 dc 之前将其缩小。下面的代码工作正常,但bitmapOversampled.ConvertToImage(); 非常慢。
有没有什么方法可以实现同样的效果,而不必从 wxBitmap 转换为 wxImage,反之亦然?
void OnPaint
( wxPaintEvent& event )
{
wxBitmap bitmapOversampled(m_width * 2, m_height * 2);
wxMemoryDC memDC(bitmapOversampled);
// Draw the elements.
drawElements(&memDC);
// Scale to correct size.
wxImage image = bitmapOversampled.ConvertToImage();
image.Rescale(m_width, m_height);
memDC.SelectObject(wxBitmap(image));
// Copy to dc.
wxPaintDC dc(this);
dc.Blit(0, 0, m_width, m_height, &memDC, 0, 0);
};