Witam szanowne grono
Mam pytanko odnośnie linii dodanych na canvasie, a mianowicie jak je usuwać w czasie działania programu.
Mam dwa punkty, które nanoszę i potem łącze linią, chciałbym aby po przeniesieniu jednego punkty stara linia zniknęła
Proszę o podpowiedzi
CanvasDrewLine
- maciekwp
- Posty: 46
- Rejestracja: 03 kwie 2007 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Warszawa
Re: CanvasDrewLine
O ile mi wiadomo to takich cudów jak usuwanie pojedynczo rysowanych elementów z "Canvasa" po prostu nie ma. Działa to jak tablica, kreda i gąbka i już... i trzeba się z tym pogodzić (ma to też swoje zalety).
Widzę tutaj kilka opcji:
1. Wyczyścić "Canvas" i narysować wszystko od nowa.
2. Zapamiętać obraz z "Canvasa" przed narysowaniem punktów i linii a następnie wczytywać i nanosić nowe punkty (ma to sens jedynie gdy rysujemy tam wcześniej jakieś skomplikowane tło dla tychże punktów i linii).
3. Zamiast "Canvas" użyć "Graph" (i używać funkcji do kasowania poszczególnych plotów).
Myślę że rozwiązań jest o wiele więcej niż tu przedstawione ale tu już przydało by się więcej szczegółów a może nawet jakiś przykładowy obrazek...
Widzę tutaj kilka opcji:
1. Wyczyścić "Canvas" i narysować wszystko od nowa.
2. Zapamiętać obraz z "Canvasa" przed narysowaniem punktów i linii a następnie wczytywać i nanosić nowe punkty (ma to sens jedynie gdy rysujemy tam wcześniej jakieś skomplikowane tło dla tychże punktów i linii).
3. Zamiast "Canvas" użyć "Graph" (i używać funkcji do kasowania poszczególnych plotów).
Myślę że rozwiązań jest o wiele więcej niż tu przedstawione ale tu już przydało by się więcej szczegółów a może nawet jakiś przykładowy obrazek...
w palcu siła...
-
- Posty: 383
- Rejestracja: 17 lis 2006 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Warszawa
CanvasDrewLine
Jeżeli Canvas jest odpowiednikiem Picture Control w LabVIEW, to można jego zawartość zrzutować na string i usunąć/zmodyfikować stosowny kawałek - wszystkie kolejne operacje są tam zapisane jedna po drugiej jako tzw. OPCODE z odpowiednimi parametrami. Indeksy w stringu gdzie występuje interesująca nas operacja można odczytać z długości stringa przed jej wykonaniem.
Więcej informacji i przykłady (w LV) tutaj.
Więcej informacji i przykłady (w LV) tutaj.
- maciekwp
- Posty: 46
- Rejestracja: 03 kwie 2007 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Warszawa
Re: CanvasDrewLine
To se ne da...
Canvas jest tak pomyślany że ma być prosty jak budowa cepa ale w zamian bardzo szybki w działaniu (i taki właśnie jest).
Canvas jest tak pomyślany że ma być prosty jak budowa cepa ale w zamian bardzo szybki w działaniu (i taki właśnie jest).
w palcu siła...