|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2001
Messaggi: 158
|
[C#] osnap come in autocad
Ciao a tutti,
sto facendo un programma dove devo spostare, selezionare, cancellare ecc. ecc... degli oggetti. Una funzionalità che mi sarebbe comoda sarebbe tipo l' osnap di autocad, cioè quando mi avvicino con il mouse ad un vertice o ad un altro oggetto disegnato sulla mia canvas (o graphics) questo viene evidenziato da un quadrato o faccia cambiare il colore all'oggetto. io lo ho già implementato nel mio sw attraverso l'evento mousemove della mia canvas contenete gli oggetti disegnati, e quindi ogni volta che si scatena l'evento scorro la lista degli oggetti disegnati verificando se il mouse si trova in un intorno di un punto dell'oggetto. Questa soluzione funziona ma vedo da taskmanager che l'utilizzo di memoria diventa elevato, infatti da 40MB che occupa il programma arrivo a 170MB quando il mouse si muove sopra la canvas. E se gli oggetti disegnati diventano tantissimi? ho paura che il programma rallenterà molto. Voi come risolvereste questo problema? Se avete documentazione o link a pagine che spiegano come si costruisce ( o meglio gli algoritmi) un sw di grafica vettoriale in GDI+ ve ne sarei grato.
__________________
Il mio HW:notebook:acer aspire 5024WLMI mandato in riparazione per masterizzatore e schermo,desktop: (è un pò vecchiotto ma fa sempre il suo sporco lavoro):MB Biostar M7MKE SlotA,chipSet VIA KX133/686A UltraDMA66,Athlon700 BUS200 512KB cacheL2,512MB ram PC133,MatroxMilleniumG400DH. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2001
Messaggi: 158
|
P.S.
sto usando visual studio 2010 ed il progetto è un winform
__________________
Il mio HW:notebook:acer aspire 5024WLMI mandato in riparazione per masterizzatore e schermo,desktop: (è un pò vecchiotto ma fa sempre il suo sporco lavoro):MB Biostar M7MKE SlotA,chipSet VIA KX133/686A UltraDMA66,Athlon700 BUS200 512KB cacheL2,512MB ram PC133,MatroxMilleniumG400DH. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:43.



















