Доброе время суток. подскажите пожалуйста как можно вырезать часть изображения, и вставить его в другую часть. Вот код...но у меня не работает с помощью GetClippingBoxлибо я что то не то делаю:
wxPaintDC TempPaintDC(this);
TempPaintDC.DrawBitmap(wxBitmap( wxT("myoutfile.bmp"), wxBITMAP_TYPE_BMP),0,0,true);
TempPaintDC.GetClippingBox( &as, &bs, &vc, &vc1 );
for (int i=1;i<=w-vc-10;i+=2)
{
if (fon==1)
{
wxPen pen(wxColour(r,g,b));
TempPaintDC.SetPen(pen);
wxBrush brush1(wxColour(r,g,b),wxSOLID);
TempPaintDC.SetBrush(brush1);
if (fig=="Êðóã")
TempPaintDC.DrawCircle(i-2+rad, rad+5, rad);
else TempPaintDC.DrawRectangle(i-2+hh,hh+5,wh,hh);
}
else //
{//TempPaintDC.DrawBitmap(wxBitmap( wxT("myoutfile.bmp"), wxBITMAP_TYPE_BMP),0,0,true);
// TempPaintDC.SetClippingRegion( (i-2+hh), (hh+5), wh, hh );
as=i+hh;
bs=hh+5;
TempPaintDC.GetClippingBox( &as, &bs, &wh, &hh );
}
Помогите пожалуйста
Вырезать часть изображения Topic is solved
-
- Earned a small fee
- Posts: 15
- Joined: Sun Jun 29, 2008 8:27 pm
-
- Moderator
- Posts: 1249
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
Code: Select all
do
{
wxBitmap bmp(wxT("test.png"), wxBITMAP_TYPE_PNG);
if(!bmp.IsOk()) break;
wxMemoryDC mdc(bmp);
wxBitmap clip(150, 100);
wxMemoryDC clipdc(clip);
clipdc.Blit(0, 0, clip.GetWidth(), clip.GetHeight(), &mdc, 100, 100);
mdc.Blit(100, 200, clip.GetWidth(), clip.GetHeight(), &clipdc, 0, 0);
mdc.SelectObject(wxNullBitmap);
bmp.SaveFile(wxT("result.png"), wxBITMAP_TYPE_PNG);
}
while(false);
http://wxwidgets.info/getting_aquainted ... _part_3_en