Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ACDSee ili nesto slicno

[es] :: Pascal / Delphi / Kylix :: ACDSee ili nesto slicno

[ Pregleda: 1406 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

prekidac
Jokic Marko
Banja Luka

Član broj: 3320
Poruke: 18
*.dialup.blic.net



Profil

icon ACDSee ili nesto slicno27.02.2004. u 22:02

Pravim mali preglednik slika koji treba da ima: zoom in, zoom out i mogucnost pomjeranja slike putem misa ("rukom") nesto slicno onom kod ACDSee Viewer-a. Da li treba da nabavim neke druge komponente (koje, gdje) ili moze i sa standardnim, ako moze kako?
Hvala unaprijed!!!
27.02.2004. u 22:02 

marcony86
Absolute Freelancer
Kapedunum/Singidunum

Član broj: 12256
Poruke: 220
*.vdial.verat.net



Profil

icon Re: ACDSee ili nesto slicno28.02.2004. u 09:54
Ovaj kod sam ja koristio za pomeranje slike mišem, kao i za pomeranje pomoću scrollbar-ova.

Prvo u "private" sekciji definišeš promenljive:
Code:

private
  Dragging        :  BOOLEAN;
  StartPressPoint :  TPoint;
  StartBitmapPoint:  TPoint;
{ Private declarations }


Na formu postaviš panel, a na njega TImage, kao i dve TScrollBar komponente (van panela).
Evo ti primer mog koda, pa pokusaj!
Code:

procedure TForm5.ScrollBarHorizontalChange(Sender: TObject);
begin
Image1.Left := -ScrollBarHorizontal.Position;
end;

procedure TForm5.ScrollBarVerticalChange(Sender: TObject);
begin
Image1.Top := -ScrollBarVertical.Position;
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
Dragging := False;
end;

procedure TForm5.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Dragging := TRUE;
StartPressPoint  := Point(X,Y);
Image1.Cursor := CrSizeAll;
end;

procedure TForm5.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Dragging := FALSE;
Image1.Cursor := CrDefault;
end;

procedure TForm5.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
 VAR
    xDelta:  INTEGER;
    yDelta:  INTEGER;
begin
  IF   Dragging
  THEN BEGIN
   IF   ScrollBarHorizontal.Visible
    THEN BEGIN
      xDelta := X - StartPressPoint.X;
      Image1.Left :=
        Max(-Image1.Width + Panel1.Width, Min(0, StartBitmapPoint.X + xDelta));
      ScrollBarHorizontal.Position := -Image1.Left;
      StartBitmapPoint.X := Image1.Left;
    END;
    IF   ScrollBarVertical.Visible
    THEN BEGIN
      yDelta := Y - StartPressPoint.Y;
        Image1.Top := Max(-Image1.Height + Panel1.Height, Min(0, StartBitmapPoint.Y + yDelta));
          ScrollBarVertical.Position := -Image1.Top;
      StartBitmapPoint.Y := Image1.Top
    END;
  END;
end;
28.02.2004. u 09:54 

prekidac
Jokic Marko
Banja Luka

Član broj: 3320
Poruke: 18
*.dialup.blic.net



Profil

icon Re: ACDSee ili nesto slicno01.03.2004. u 10:44
U zadnjoj proceduri dobijem error za Max i Min
Image1.Left :=
Max(-Image1.Width + Panel1.Width, Min(0, StartBitmapPoint.X + xDelta));
01.03.2004. u 10:44 

broker

Član broj: 2415
Poruke: 8521
212.62.59.*



Profil

icon Re: ACDSee ili nesto slicno01.03.2004. u 11:38
Pa nije ti dao kod koji radi nego primer koda.
Na osnovu toga ti treba da napravis svoje.
01.03.2004. u 11:38 

prekidac
Jokic Marko
Banja Luka

Član broj: 3320
Poruke: 18
*.dialup.blic.net



Profil

icon Re: ACDSee ili nesto slicno02.03.2004. u 16:58
Uspio sam uz neke prepravke. Sada mi nedostaje jos Zoom in i Zoom out (malo sam dosadan). Hvala svima
02.03.2004. u 16:58 

Rapaic Rajko
programer, Grappolo
Bgd

Član broj: 4105
Poruke: 410
80.93.233.*



Profil

icon Re: ACDSee ili nesto slicno17.03.2004. u 11:44
Pokusaj sa Canvas.StretchDraw().

Rajko
17.03.2004. u 11:44 

prekidac
Jokic Marko
Banja Luka

Član broj: 3320
Poruke: 18
*.dialup.blic.net



Profil

icon Re: ACDSee ili nesto slicno06.04.2004. u 17:20
***Pokusaj sa Canvas.StretchDraw()***

Probao sam ali ocito "ne kontam" kako da koristim tu komandu (ni poslje cackanja po helpu). Da li mozes da mi pojasnis kako da je pravilno iskoristim (na nekom primjeru). Hvala unaprijed!!!
06.04.2004. u 17:20 

[es] :: Pascal / Delphi / Kylix :: ACDSee ili nesto slicno

[ Pregleda: 1406 | Odgovora: 6 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.