G15 LCD ansteuern
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Fynnl.
-
-
Hier steht etwas darüber, ich glaub du wirst da fündig:
g15-applets.de/g15---visual-basic-net---sdk--t949.html -
-
-
eat this:
cyberkruz.vox.com/library/post…-the-g15-lcd-display.html
ist zwar für C# aber das ist ja fast wie VB. Link zur ManagedLib beachten! -
Andy1253 schrieb:
Aus den ganzen Links werde ich nicht schlau.
Hälfte funzt nicht und die andere Hälfte ist entweder beschädigt oder die Codes gehen nicht
Ich hoffe es wird mir niemand übel nehmen, dass ich dieses alte Thema wieder aus den tiefen des Forum befreit habe. Aber es trifft einfach genau meine Anliegen
Meine Frage ist, wie ich Text auf dem Display anzeigen lassen kann. Mein bisheriger Code schafft dies leider nicht
Spoiler anzeigen
VB.NET-Quellcode
- 'LCD
- Dim Text As String = "Test"
- Dim FontColor As Color = Color.White
- Dim BackColor As Color = Color.Black
- Dim FontName As String = "Times New Roman"
- Dim FontSize As Integer = 12
- Dim Height As Integer = 43
- Dim Width As Integer = 160
- Dim FileName As String = "LCD"
- Dim objBitmap As New Bitmap(Width, Height)
- Dim objGraphics As Graphics = Graphics.FromImage(objBitmap)
- Dim objColor As Color
- Dim objFont As New Font(FontName, FontSize)
- 'Following PointF object defines where the text will be displayed in the
- 'specified area of the image
- Dim objPoint As New PointF(5.0F, 5.0F)
- Dim objBrushForeColor As New SolidBrush(FontColor)
- Dim objBrushBackColor As New SolidBrush(BackColor)
- Dim pic_array(6880) As Byte
- Public Sub Draw()
- objGraphics.FillRectangle(objBrushBackColor, 0, 0, Width, Height)
- objGraphics.DrawString(Text, objFont, objBrushForeColor, objPoint)
- Pic.Image = objBitmap
- pic_array = ConvertBitmapToByte(objBitmap)
- For i As Integer = 0 To 6879 '255 = Pixel an, 0 = aus, alles was dazwischen liegt wird zum Testen mal angeschaltet
- If pic_array(i) < 254 And pic_array(i) <> 0 Then
- pic_array(i) = 255
- End If
- Next
- End Sub
- ''' <summary>
- ''' Konvertiert Bitmap in Byte-Array
- ''' </summery>
- ''' <param name="text"></param>
- Private Function ConvertBitmapToByte(ByVal bild As Bitmap) As Byte()
- Dim membit As New IO.MemoryStream
- bild.Save(membit, Imaging.ImageFormat.Bmp)
- Return membit.ToArray
- End Function
Leider bin ich nicht in der Lage den Fehler zu finden. Entweder liegt er beim konvertieren des Bitmaps zum Byte-Array oder in der Graphics Abteilung. Gibt es irgendwo ein VB.Net Beispiel mit dem man Text auf das Display schreiben kann? Ich habe bisher nur das hier in Vb6 (oder was auch immer das sein mag) gefunden:
Spoiler anzeigen
VB.NET-Quellcode
- VERSION 5.00
- Begin VB.Form frmTest
- Caption = "LCD Demo"
- ClientHeight = 1380
- ClientLeft = 60
- ClientTop = 345
- ClientWidth = 2505
- LinkTopic = "Form1"
- ScaleHeight = 92
- ScaleMode = 3 'Pixel
- ScaleWidth = 167
- StartUpPosition = 2 'CenterScreen
- Begin VB.CommandButton Command2
- Caption = "Fast Demo"
- Height = 555
- Left = 1320
- TabIndex = 2
- Top = 780
- Width = 1155
- End
- Begin VB.CommandButton Command1
- Caption = "Slow Demo"
- Height = 555
- Left = 60
- TabIndex = 1
- Top = 780
- Width = 1215
- End
- Begin VB.PictureBox LCD
- AutoRedraw = -1 'True
- BackColor = &H00000000&
- BorderStyle = 0 'None
- FillColor = &H00FFFFFF&
- BeginProperty Font
- Name = "Small Fonts"
- Size = 6
- Charset = 0
- Weight = 400
- Underline = 0 'False
- Italic = 0 'False
- Strikethrough = 0 'False
- EndProperty
- ForeColor = &H00FFFFFF&
- Height = 645
- Left = 60
- ScaleHeight = 43
- ScaleMode = 3 'Pixel
- ScaleWidth = 160
- TabIndex = 0
- Top = 60
- Width = 2400
- End
- End
- Attribute VB_Name = "frmTest"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Private Sub Command1_Click()
- ' Create an array of 6880 bytes
- Dim byteArrayDemo(0 To 6879) As Byte
- ' Turn on every second pixel, to create a checkerboard pattern.
- ' Set the value to 255 to make it ON, or 0 to make it OFF.
- ' Loop through the entire screen.
- For X = 0 To 159
- For Y = 0 To 42
- byteArrayDemo((Y * 160) + X) = IIf((X + Y) Mod 2 = 0, 255, 0)
- Next
- Next
- lcdControl.showPixels byteArrayDemo, 0
- End Sub
- Private Sub Command2_Click()
- ' Clear the picturebox and then write some text onto it.
- LCD.Cls
- LCD.Print "This is a fast demo."
- LCD.Print "The current time is " & Time
- ' Update the LCD.
- updatePreview
- End Sub
- Private Sub Form_Load()
- ' Create a new instance of the AvLCD component
- Set lcdControl = New AvLCD
- ' Initialize the LCD.
- lcdControl.initLCD "AvLCD Demo File"
- ' Set a callback to our ButtonPress Handler.
- lcdControl.setCallback AddressOf LCDbuttonPress
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- ' When unloading, close the LCD interface.
- lcdControl.closeLCD
- End Sub
In diesem Beispiel wird einfach "auf die Picturebox geschrieben". Mit VB.Net ist das meines Wissens nach nicht mehr möglich. Deswegen muss ich ja auf die Graphics Klassen ausweichen.
Also wenn mir wirklich jemand helfen könnte wäre ich dem wirklich sehr dankbar!
Fynnl -
-
g15-applets.de/extendedg15wrap…tc-g15-wrapper-t5254.html
VB.NET-Quellcode
- ' Wrapper instanzieren
- Dim LCD as New extendedg15wrapper("AppName", False) 'Autostart aus
- Dim LCDButtons As New g15ButtonEvents
- 'Bitmap erstellen
- Dim b As New Bitmap(160, 43) 'Hier dann mit GDI zeichnen
- 'Bitmap an LCD senden
- LCD.SetBitmap(b)
- 'Für die Buttons zb.
- AddHandler LCDButtons.Button1Down, New g15ButtonEvents.Buttons(Address Of TuWasBeiButton1)
-
-
Ähnliche Themen
-
Anfänger124 - - Schnittstellen-/Hardwareprogrammierung
-
Fremdes Programm steuern mit win api/spy++ alternative
Gelöschter Benutzer - - Sonstige Problemstellungen
-
2 Benutzer haben hier geschrieben
- Gast (8)
- eXpire (1)