problem z zoom'em obrazka

0

witam , chcialbym aby rolka myszy powodowala zoom na obrazku, obraz znajduje sie w zakladce Pagecontrol,dodatkowo w scrollbox, ustawiony jest na autosize=true i na alClient,stretch=true.. stosuje nastepujacy kod w zdarzeniach onmousewhellup i onmousewhelldown w scrollbox'ie (na image nie mam tych zdarzen) :

   var
zoom:integer;
begin
zoom:=2;
image2.Stretch:=true;
Image2.Width := trunc(zoom*Image2.Picture.Bitmap.Width); //dla down dziele przez zoom
Image2.Height:= trunc(zoom*Image2.Picture.Bitmap.Height); //dla down dziele przez zoom
end;

Nie dziala mi to , nie dziala rowniez image2.height:=image2.height+30; i to samo dla szerokosci, nie wiem , wszedzie w postach piszecie ze wystarczy dac stretch na true i zwiekszac wys i szerokosc, to mi nie dziala ani w zdarzeniu onclick buttona ani dla rolki myszy , ma ktos pomysl dlaczego tak sie moze dziac ? obrazki to jpg przekonwertownae na bmp a wiec TBitmap. Nie wiem czy nie namieszalem :) prosze o sugestie.

0

Zamiast Image.Picture.Bitmap.Width zastosuj zmienną zawierającą oryginalny rozmiar obrazka.

0

oo, pomoglo :) dzieki , tylko nie dziala mi dla kółka myszy :/ ,dla buttonow tylko, nie dziala rowniez jesli zastosuje to dla form1.onmousewhellup i down ?? jak mam to zrobic aby po najechaniu na tego imaga i uzyciu kółka myszy uzyskac jakas reakcje ?

0

Jeszcze jedna prosba, chcialbym aby procedura wykonywala sie na rysunku w zaleznosci od tego jaka zakladka jest aktywna, lepiej wkleje moja nieudolna probe bo ciezko mi to wytlumaczyc:

var
zoom,i:integer;
image:timage;
begin
i:=pagecontrol1.ActivePageIndex;
zoom:=trunc(image[i].Width/10);
Image[i].Width := image[i].width+zoom;
Image[i].Height:= image[i].height+zoom;
end;

tak nie dziala, w jaki sposob moge uzaleznic indeks image'a od tego w pagecontrol ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1