第一种,直接画在画布上
C++代码
- void DragShape::OnPaint( wxPaintEvent &WXUNUSED(event) )
- {
- wxPaintDC dc( this );
- PrepareDC( dc );
- Draw(dc, _T("aabbcc"));
- }
- bool DragShape::Draw(wxDC& dc, wxString name)
- {
- wxCoord x = 10,
- y = 10;
- wxImage image;
- image.LoadFile(_T("ss.jpg"), wxBITMAP_TYPE_JPEG)
- // 将其转换成bitmap
- wxBitmap m_bitmap(img);
- wxMemoryDC memDC;
- memDC.SelectObject(m_bitmap);
- memDC.SetPen(*wxBLACK_PEN);
- memDC.SetFont( wxFont(14, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false) );
- memDC.DrawText(name,x,y);
- dc.Blit(m_pos.x, m_pos.y, m_bitmap.GetWidth(), m_bitmap.GetHeight(),
- & memDC, 0, 0, wxCOPY, true);
- }
第二种,画到图片上,显示到staticbitmap
C++代码
- wxImage img(_T("ss.jpg"), wxBITMAP_TYPE_JPEG);
- // 将其转换成bitmap
- wxBitmap bmp(img);
- wxCoord x = 10,
- y = 10;
- wxMemoryDC memDC;
- memDC.SelectObject(bmp);
- memDC.SetPen(*wxBLACK_PEN);
- memDC.SetFont( wxFont(14, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false) );
- memDC.DrawText(_T("ddddddd"),x,y);
- memDC.SelectObject(wxNullBitmap);
- //更新其位图
- StaticBitmap1->SetBitmap(bmp);