Avatar billede egebo Nybegynder
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
Avatar billede jens_nuuk Nybegynder
25. juli 2005 - 02:19 #1
Det skulle vel ikke være umuligt.
Har du noget mere at arbejde med?
Avatar billede egebo Nybegynder
25. juli 2005 - 02:29 #2
Du mener om jeg har formlerne?
Avatar billede sjh Nybegynder
25. juli 2005 - 02:35 #3
øh.. kan du ikke bare tag det billede du har og set det på en form1 og så nogle Label's ??
Avatar billede egebo Nybegynder
25. juli 2005 - 03:21 #4
Ville være en kedelig løsning. Vil gerne ha at det bliver et ægte skaleret billede som passe til de udregnede mål.
Avatar billede sjh Nybegynder
25. juli 2005 - 10:37 #5
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
Avatar billede egebo Nybegynder
25. juli 2005 - 16:40 #6
Ser da meget flot ud :-) he he.

Er ret ny indenfor sådan noget her.
Eventuelt noget du (eller en anden) kan hjælper lidt med over messenger?
Avatar billede sjh Nybegynder
25. juli 2005 - 18:00 #7
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..
Avatar billede egebo Nybegynder
25. juli 2005 - 19:19 #8
Hmm okay. Ved jo ikke rigtig hvor tidskrævende det er.

Men det er vel heller ikke værre end at jeg kan finde ud af det :-)
Avatar billede martin_moth Mester
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!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester