Jak wykorzystać tą propozycje do wykorzystania techniki lasso. Mógłby ktoś mi pomóc to przerobić aby to chodziło na danym image1:
1. In the OnMouseDown event for the form
that you are 'lasso-ing' controls on:
bMarquee := True;
ptOrigin := Point(X,Y) ;
ptMove := Point(X,Y) ;
Pen.Color := clBlack;
Pen.Width := 1;
Pen.Śtyle := psDash;
Brush.Śtyle := bsClear;
DrawMarquee(ptOrigin, ptMove, pmNotXor ) ;
2. In the OnMouseMove event for the form...
if bMarquee = True then begin
DrawMarquee(ptOrigin, ptMove, pmNotXor) ;
DrawMarquee(ptOrigin, Point(X,Y), pmNotXor) ;
ptMove := Point(X, Y) ;
Canvas.Pen.Mode := pmCopy;
end;
3.
In the OnMouseUp event for the form...
if bMarquee = True then begin
bMarquee := False;
DrawMarquee(ptOrigin, Point(X,Y), pmNotXor) ;
ptMove := Point(X,Y) ;
end;
4. The DrawMarquee procedure...
procedure myForm.DrawMarquee
(mŚtart, mŚtop : TPoint; AMode : TPenMode) ;
begin
Canvas.Pen.Mode := AMode;
Canvas.Rectangle(mŚtart.X,mŚtart.Y,mŚtop.X,mŚtop.Y) ;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
Lasso - Freehand
-
- Użytkownik
- Posty: 953
- Rejestracja: 27 wrz 2005, o 22:56
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 11 razy
- Pomógł: 74 razy
Lasso - Freehand
Można to przerabiać, ale za wiele tu nie ma.
Jest tylko jeden prostokąt - zawsze dwa punkty.
Przy lasso trzeba pamiętać całą ścieżkę, którą przejedzie mysz - liczba punktów nie jest znana i ciągle rośnie podczas zaznaczania.
Funkcję Rectangle zamieniamy na inną, rysującą dowolny wielokąt:
otwarty - gdy ciągniemy, oraz zamknięty - po zakończeniu zaznaczania.
Jest tylko jeden prostokąt - zawsze dwa punkty.
Przy lasso trzeba pamiętać całą ścieżkę, którą przejedzie mysz - liczba punktów nie jest znana i ciągle rośnie podczas zaznaczania.
Funkcję Rectangle zamieniamy na inną, rysującą dowolny wielokąt:
otwarty - gdy ciągniemy, oraz zamknięty - po zakończeniu zaznaczania.
-
- Użytkownik
- Posty: 64
- Rejestracja: 17 kwie 2005, o 10:51
- Płeć: Mężczyzna
- Lokalizacja: Rzeszów
- Podziękował: 3 razy
Lasso - Freehand
Mógłbyś to przelać na język np pod delphi - thxFibik pisze:Można to przerabiać, ale za wiele tu nie ma.