24. juli 2005 - 21:02
Der er
9 kommentarer
Grafik i VB
Ville høre om det er muligt at lave simpel "flydende" grafik i VB. Ved ikke hvad det hedder rigtig, men skal prøve at forklare.
Har snøret nogle formler sammen til at udregne dimensionerne på en 2-takts udstødning. Programmet skal så bare kunne tegne et 2D (x,y) skitse ud fra de tal formlen giver dem.
Kan det lade sig gøre?
Og måske nogen som kan hjælpe?
Et eksempel:
http://www.iwt.com.au/private/mota-02.gif
Ja.. så er der nok kun Line, Circle metoden tilbage..
object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
og eller
object.Circle [Step] (x, y), radius, [color, start, end, aspect]
eksempel fra MSDN (Line)
Private Sub Form_Click()
Dim CX, CY, F, F1, F2, I ' Declare variables
ScaleMode = 3 ' Set ScaleMode to pixels.
CX = ScaleWidth / 2 ' Get horizontal center.
CY = ScaleHeight / 2 ' Get vertical center.
DrawWidth = 8 ' Set DrawWidth.
For I = 50 To 0 Step -2
F = I / 50 ' Perform interim
F1 = 1 - F: F2 = 1 + F ' calculations.
ForeColor = QBColor(I Mod 15) ' Set foreground color.
Line (CX * F1, CY * F1)-(CX * F2, CY * F2), , BF
Next I
DoEvents ' Yield for other processing.
If CY > CX Then ' Set DrawWidth.
DrawWidth = ScaleWidth / 25
Else
DrawWidth = ScaleHeight / 25
End If
For I = 0 To 50 Step 2 ' Set up loop.
F = I / 50 ' Perform interim
F1 = 1 - F: F2 = 1 + F ' calculations.
Line (CX * F1, CY)-(CX, CY * F1) ' Draw upper-left.
Line -(CX * F2, CY) ' Draw upper-right.
Line -(CX, CY * F2) ' Draw lower-right.
Line -(CX * F1, CY) ' Draw lower-left.
ForeColor = QBColor(I Mod 15) ' Change color each time.
Next I
DoEvents ' Yield for other processing.
End Sub
eksempel fra MSDN (Circle)
Private Sub Form_Click()
Dim CX, CY, Radius, Limit ' Declare variable.
ScaleMode = 3 ' Set scale to pixels.
CX = ScaleWidth / 2 ' Set X position.
CY = ScaleHeight / 2 ' Set Y position.
If CX > CY Then Limit = CY Else Limit = CX
For Radius = 0 To Limit ' Set radius.
Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Next Radius
End Sub
ha ha.. det tror jeg ikke du får nogle til at hjælpe dig med.. det er jo et hestearbejde.. :D
men så kan du måske bruge denne kode:
http://www.vb-helper.com/howto_stretch_controls.html (du kan gownloade en demo i bunden)
så kan du bruge : Shape1, Line1 til at tegne med.. det er godt nok ikke grafik, men det er nok den nemmest mådet at gøre det på.. hvis du ikke vil bruge det med at sette billede på form.
det kan næsten ikke gøres nemmer..
01. august 2005 - 23:46
#9
Det er bare at starte fra en ende af;o)
Husk, at koordinatsystemet starter i øverste venstre hjørne og har positiv y-akse nedad!
Udregn koordinaterne til alle dine punkter, og tegn streger i mellem. Det er såmænd ikek spor svært, men kræver blot, at du regner alle dine koordinater ud!