DrawingArea

Spezielle Fragen zu 2D- und 3D-Grafik, Sound und Video
Antworten
tralex
Foriker
Beiträge: 4
Registriert: Fr 22. Mai 2015, 14:20
Kontaktdaten:

DrawingArea

Beitrag von tralex » Fr 22. Mai 2015, 15:02

Hallo Gambas Profis, wersuche ein Gummieffeckt für linie b.z.w.Rechteck zu erzielen, zu wenig Kenntnisse dadurch klappt nicht, hat ne jemand eine Idee wie das funken kann. Danke.

Benutzeravatar
gambi
Moderator
Beiträge: 249
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: DrawingArea

Beitrag von gambi » Sa 23. Mai 2015, 08:36

Hallo tralex,
willkommen im Forum.

Was verstehst du denn unter einem Gummieffekt? Kannst du ein Beispiel geben?

gg

tralex
Foriker
Beiträge: 4
Registriert: Fr 22. Mai 2015, 14:20
Kontaktdaten:

Re: DrawingArea

Beitrag von tralex » Sa 23. Mai 2015, 10:42

Hallo gambi,
danke für's Antwort. Zur Thema. Ich gebe mit der Maus ein Punkt ein, danach bewege ich den Maus zum weitere Punkt und die Linie ziet sich mit. Eigentlich funkt es, das Problem ist aber dass im Erreignis Mouse_Move mus ich eine Function Draw.Clear in Spiel bringen um die dutzende Linien die mir Erreignis Mouse_Move erzeigt unsichtbar machen. Und wenn ich jetzt eine zweite Linie zeichne logischeweise verschwindet die erste Linie, und so weiter. Kennst du ein Lösung? Die Code Poste ich unten:
' Gambas class file
Private OldX As Float
Private OldY As Float
Private StartX As Float
Private StartY As Float

Public Sub Form_Open()
Draw.Begin(DrawingArea1)
End

Public Sub Form_Close()
Draw.End
End

Public Sub DrawingArea1_MouseDown()
StartX = Mouse.X
StartY = Mouse.Y
OldX = StartX
OldY = StartY
End
Public Sub DrawingArea1_MouseMove()
Draw.Clear
Draw.Line(StartX, StartY, Mouse.X, Mouse.Y)
DrawingArea1.Refresh()
OldX = Mouse.X
OldY = Mouse.Y
End

Benutzeravatar
gambi
Moderator
Beiträge: 249
Registriert: Mi 8. Mai 2013, 21:46
Kontaktdaten:

Re: DrawingArea

Beitrag von gambi » Sa 23. Mai 2015, 10:55

Hi tralex,
schaue doch mal hier nach http://www.gambas-buch.de/dw/doku.php?i ... .4.2:start
gg

tralex
Foriker
Beiträge: 4
Registriert: Fr 22. Mai 2015, 14:20
Kontaktdaten:

Re: DrawingArea

Beitrag von tralex » Sa 23. Mai 2015, 17:06

Danke gambi, ich hab mir das angeschaut. Alle Beispiele sind nicht für interaktive Maus eingabe geschrieben. Ich habe FreehandZeichen runtergeladen und die Code angepasst, es läst sich eine Linie oder Rechteck aufspannen, aber leider bleibt er nicht im DrawingArea sobald der nechste Element gezeichnen wird. Warscheinlich ist sowas im Gambas nicht zu realisieren oder diese Aufgabe ist nur für Profis. Aber trotzdem danke.

vuott
Foriker
Beiträge: 73
Registriert: Fr 16. Jan 2015, 01:27
Kontaktdaten:

Re: DrawingArea

Beitrag von vuott » So 24. Mai 2015, 18:21

Hello tralex,

a member of gambas-it.org forum, Gianluigi, suggests you this code:

Code: Alles auswählen

Private OldX As Single    
Private OldY As Single   
Private StartX As Single   
Private StartY As Single   
Private punti As New Integer[] 
   
Public Sub DrawingArea1_Draw()   
   
 Dim i As Integer 
   
 With Draw
   .Foreground = Color.Red 
   .Line(StartX, StartY, OldX, OldY)             
   For i = 0 To punti.Count - 1 Step 4 
     .Line(punti[i], punti[i + 1], punti[i + 2], punti[i + 3])         
   Next           
   .End         
 End With       
 
End   
   
   
Public Sub DrawingArea1_MouseDown()     
   
   StartX = Mouse.X   
   StartY = Mouse.Y   
   OldX = StartX   
   OldY = StartY         
   
End   
 
   
Public Sub DrawingArea1_MouseMove() 
   
   OldX = Mouse.X   
   OldY = Mouse.Y   

   DrawingArea1.Refresh()     
   
End   
 

Public Sub DrawingArea1_MouseUp() 
   
   punti.Add(StartX) 
   punti.Add(StartY) 
   punti.Add(OldX) 
   punti.Add(OldY) 
   
End
Zuletzt geändert von vuott am Mo 25. Mai 2015, 15:24, insgesamt 2-mal geändert.

tralex
Foriker
Beiträge: 4
Registriert: Fr 22. Mai 2015, 14:20
Kontaktdaten:

Re: DrawingArea

Beitrag von tralex » Mo 25. Mai 2015, 14:34

Hello vuott,
thank you for this code, that's exactly what I had imagined and thanks to the Mister Gianluigi!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste