Brug mus til at tegne med

Tags:    delphi

Jeg leder efter noget kode som kan hjælpe mig med at lave et lille tegne program.

Hvordan kan jeg tegne en linie som følger musen på f.eks. et TImage? Samtidig kan dette laves i Vektor grafik da min tegning gerne skulle kunne forstøres uden foringelse?

Håber i forstår hvad jeg mener...

Vil altså gerne lave et nyt Paint (Windows' Paint) program men bare med Vektor grafik så det kan skaleres.

På forhånd tak.



Indlæg senest redigeret d. 13.12.2007 20:58 af Bruger #12970
2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Der findes forskellige værktøjer der kan håndtere vektorgrafik for dig som f.eks. Vector Active X.
Hvis du gerne selv vil lave vektor arbejdet skal du du først have en datastruktur til at repræsenterer dine vektorer.
Et simpelt eksempel for en retlinjet vektor kunne være
Fold kodeboks ind/udKode 

Du skal så gemme dine vektorer i f.eks. en liste.

Når du selve skal tegne vektoren vil du skulle skrive kode i en TImage's onMouseDown og onMouseUp procedurer (og formegentlig også onMouseMove hvis du vil vise vektoren mens den bliver tegnet).
I onMouseDown vil du indikere at man er i gang med at tegne en vektor samt gemme startpunktet for vektoren.
I onMouseUp vil du så gemme slutpunktet og har dermed en vektor som du kan tegne.

Dette er en simpel måde at tegne vektorgrafik på. Du burde muligvis overveje bezier-kurver hvis du gerne vil have bløde runde vektorer.




Der findes forskellige værktøjer der kan håndtere vektorgrafik for dig som f.eks. Vector Active X.
Hvis du gerne selv vil lave vektor arbejdet skal du du først have en datastruktur til at repræsenterer dine vektorer.
Et simpelt eksempel for en retlinjet vektor kunne være
Fold kodeboks ind/udKode 

Du skal så gemme dine vektorer i f.eks. en liste.

Når du selve skal tegne vektoren vil du skulle skrive kode i en TImage's onMouseDown og onMouseUp procedurer (og formegentlig også onMouseMove hvis du vil vise vektoren mens den bliver tegnet).
I onMouseDown vil du indikere at man er i gang med at tegne en vektor samt gemme startpunktet for vektoren.
I onMouseUp vil du så gemme slutpunktet og har dermed en vektor som du kan tegne.

Dette er en simpel måde at tegne vektorgrafik på. Du burde muligvis overveje bezier-kurver hvis du gerne vil have bløde runde vektorer.


Tak for hjælpen Vector Active X var mere eller mindre lige hvad jeg ledte efter...



t