Witam was wszystkich.Mam problem zoomem bitmapy.Znalazlem algorytm zoomu od cyfbara://cyfbar.republika.pl/grafika.html#graf24.. dziala ale chodzi mi o cos innego.Podczas powiekszania on poporstu wycina kawalek bitmapy,zapisuje do bufora oraz wkleja ponownie do image1 rozciagajac pixele.Sprawia to wrazenie zoomu.Mam pytanie czy da sie ten algorytm przerobic tak,zeby miec dostep rowniez do obcietej czesci obrazka np za pomoca suwakow.Jak mozna to zrealizowac za pomoca scrolla myszki(aktualnie dziala to po kliknieciu w buttona).prosze rowniez o ewentualne inne algorytmy zoomu,albo moze da sie ten jakos przerobic tylko zeby dzialal on z suwakami cos na wzor photoshopa.dziekuje za helpa...
moje gg:3935339

Kod:

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
bmp=new Graphics::TBitmap;
}

//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
static int x=0;
static int y=0;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 {
   x+=((Image1->Width)*4)/100;
   y+=((Image1->Height)*4)/100;
   Graphics::TBitmap *tmp=new Graphics::TBitmap;
   tmp->Width = bmp->Width;
   tmp->Height = bmp->Height;
   tmp->Canvas->CopyRect(Rect(0,0,Image1->Width,Image1->Height),bmp->Canvas,Rect(x,y,Image1->Width-x,Image1->Height-y));
   Image1->Canvas->Draw(0,0,tmp);
   delete(tmp);
 }
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if(OpenPictureDialog1->Execute())
 {
  Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
  String img = Image1->Picture->Graphic->GetNamePath();

  if(img == "TJPEGImage")
  {
   Image1->Picture->Bitmap->Assign(bmp);
  }
  else
   bmp->Assign(Image1->Picture->Bitmap);

  Image1->Picture->Bitmap = NULL;
  //Image1->Canvas->StretchDraw(Rect(0, 0, Image1->Width, Image1->Height), bmp);
  Image1->Canvas->Draw(0, 0, bmp);

}
}