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

ACDSee ili nesto slicno

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

[ Pregleda: 3040 | Odgovora: 6 ] > FB > Twit

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 - pre 203 meseci
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!!!
 
Odgovor na temu

marcony86
Absolute Freelancer
Kapedunum/Singidunum

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



+1 Profil

icon Re: ACDSee ili nesto slicno28.02.2004. u 09:54 - pre 203 meseci
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;
 
Odgovor na temu

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 - pre 203 meseci
U zadnjoj proceduri dobijem error za Max i Min
Image1.Left :=
Max(-Image1.Width + Panel1.Width, Min(0, StartBitmapPoint.X + xDelta));
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+10 Profil

icon Re: ACDSee ili nesto slicno01.03.2004. u 11:38 - pre 203 meseci
Pa nije ti dao kod koji radi nego primer koda.
Na osnovu toga ti treba da napravis svoje.
 
Odgovor na temu

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 - pre 203 meseci
Uspio sam uz neke prepravke. Sada mi nedostaje jos Zoom in i Zoom out (malo sam dosadan). Hvala svima
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 790
80.93.233.*



+61 Profil

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

Rajko
 
Odgovor na temu

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 - pre 202 meseci
***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!!!
 
Odgovor na temu

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

[ Pregleda: 3040 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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