滑らかなグラフィックを得るために、係数 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);
};