copy a wxDC to wxScrolledWindow
Miguel Cartagena
miguel.cartagena at gmail.com
Mon Dec 4 05:40:11 PST 2006
I test this and when I call Blit method, it's draw a print screen .. my
IDE.
Here the code:
dc.GetSize(&w, &h);
// the source DC
wxBitmap bmp(w, h, wxBITMAP_TYPE_BMP);
wxMemoryDC *memDC = new wxMemoryDC();
memDC->SelectObject(bmp);
bmp.SaveFile(_T("c:\\test1.bmp"), wxBITMAP_TYPE_BMP); // just for
test
wxCoord zero = 0;
wxCoord ww = w;
wxCoord hh = h;
memDC->Blit(zero, zero, ww, hh, &dc, zero, zero);
bmp.SaveFile(_T("c:\\test2.bmp"), wxBITMAP_TYPE_BMP); // just for
test
memDC->DrawBitmap(bmp, 0, 0, false);
wxImage img = bmp.ConvertToImage();
img.Rescale(210, 297);
wxBitmap bmpRescaled(img);
bmpRescaled.SaveFile(_T("c:\\test3.bmp"), wxBITMAP_TYPE_BMP); //
just for test
On Dec 4, 9:56 am, pstarczew... at o2.pl (Piotr Starczewski) wrote:
> That should not be a problem. First of all you need to get a
> pointer/reference to your source wxDC. Then just wxDC::Blit it into
> wxMemoryDC with selected bitmap. Final step is to rescale your bitmap
> and draw it with wxDC::DrawBitmap(...) onto your scrolled window.
>
> Regards,
> Peter
>
>
>
> Miguel Cartagena wrote:
> > Sorry, I'll try to explain the problem better.
>
> > I have a wxDC drawn before, outside my application. So, I don't know
> > what is drawn in it and I can't "do my drawing" :)
> > What I want to do is: get this DC, rescale to my ScrolledWindow size
> > and show it into my ScrolledWindow.
>
> > For this, copy the DC it's not enough, I think. A possible solution is
> > redraw the DC that I receive on MyScrolledWindow::OnDraw(wxDC& dc)
> > method, or something like.
>
> > void DCReceiver::ReceiveDC(wxDC& dc){
> > MyScrolledWindow::Draw(dc);
> > }
>
> > ...
>
> > void MyScrolledWindow::Draw(wxDC& dc){
> > dc.Redraw(); // the wxDC::Redraw() method not exists, therefore my
> > doubt.
> > }
>
> > void MyScrolledWindow::OnDraw(wxDC& dc){
> > Draw(dc); // rewrite the wxScrolledWindow::OnDraw method ?
> > }
>
> > Thanks and regards,
> > Miguel
>
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: wx-users-unsubscr... at lists.wxwidgets.org
> > For additional commands, e-mail: wx-users-h... at lists.wxwidgets.org---------------------------------------------------------------------
> To unsubscribe, e-mail: wx-users-unsubscr... at lists.wxwidgets.org
> For additional commands, e-mail: wx-users-h... at lists.wxwidgets.org
More information about the wx-users
mailing list