Was VB angeht hab ich mich entweder ziemlich dämlich angestellt oder es ist echt nicht einfach ein Image zu drehen (Kompassscheibe).
Habe mir einfach aus diesesm Programm ( http://vb-fun.de/cgi-bin/loadframe.p.../tip0154.shtml ) alles Rausgesucht was ich brauchte.
Hier mal der Code wenn es dich interessiert :
Code:Imports System.Drawing.Imaging Public Class Form1 'Deklarationen Dim Buffer As Bitmap Dim graph As Graphics Dim Winkel As String = 0 Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated SerialPort1.Open() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Buffer = New Bitmap(PictureBox1.Width, PictureBox1.Height, PixelFormat.Format32bppPArgb) 'Dem "Buffer"-Bild das richtige Format zuordnen graph = Graphics.FromImage(Buffer) 'Die Graphics-Klasse "graph" mit dem Bild Buffer verbinden Call DreheBild() 'Bild aktualisieren End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If SerialPort1.BytesToRead > 0 Then Winkel = 0 Do Winkel = Winkel & Chr(SerialPort1.ReadByte) If SerialPort1.BytesToRead = 0 Then lblWinkel.Text = CInt(Winkel / 10) & "°" Call DreheBild() Exit Do End If Loop End If End Sub Private Sub DreheBild() graph.Clear(Color.Transparent) 'Das Bild löschen graph.ResetTransform() 'Den Mittelpunkt und die Rotation löschen graph.TranslateTransform(PictureBox1.Width / 2, PictureBox1.Height / 2, Drawing2D.MatrixOrder.Append) 'Setzen des Rotiermittelpunktes graph.RotateTransform(CInt(Winkel) / 10 * (-1)) 'Rotation auf die Matrix ausführen graph.DrawImage(PictureBox1.Image, New Rectangle(-PictureBox1.Width / 2, -PictureBox1.Height / 2, PictureBox1.Width, PictureBox1.Height)) 'Bild mit angegebenem Drehwinkel in das Buffer-Bild kopieren Vorschau.Image = Buffer 'Das Buffer-Image auf die PictureBox übertragen End Sub End Class
Was die Himmelsrichtung angeht so sende ich einfach die Abweichung zu Norden als Winkel.
Zb 45,2° als 452 und teile später durch 10.
Werde erst mal jedes Sensorprogramm einezeln schreiben und später dann zusammen setzen.
Dann werde ich mit "Headern" arbeiten, also zb HR452.
Werde dann in VB erst mal die ersten beiden Zeichen Auswerten HR = Himmelsrichtung und dann dem entsprechend die folgenden Zeichen auswerten.[/quote]







Zitieren

Lesezeichen