Farbe auslesen von Bildschirm

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Farbe auslesen von Bildschirm

    Hallo,
    ich bin schon seid einiger Zeit auf der Suche nach einer Funktion, womit ich auf dem Kompletten Bildschirm die Farbe in Punkt : 32,23 z.B. auslesen kann. Ich habe schonmal diese Funktion geschrieben aber sie funktioniert nicht, ich bekomme ich nur #000 zurück :(

    VB.NET-Quellcode

    1. Dim ScreenX As IntegerDim ScreenY As Integer Dim g As Graphics Dim Img As Bitmap ScreenX = My.Computer.Screen.Bounds.Width ScreenY = My.Computer.Screen.Bounds.Height g = Graphics.FromHwnd(Me.Handle) g.CopyFromScreen(0, 0, ScreenX - 1, ScreenY - 1, New Size(ScreenX, ScreenY)) Img = New Bitmap(ScreenX, ScreenY, g) Dim Farbe = Img.GetPixel(100, 100) Dim farbef = funktionen.GetHexColor(Farbe) MessageBox.Show(farbef) g.Dispose() Exit Sub



    Danach einfach mit

    VB.NET-Quellcode

    1. Function GetHexColor(ByVal colorObj As System.Drawing.Color) As String Return "#" & Hex(colorObj.R) & Hex(colorObj.G) & Hex(colorObj.B) End Function


    nach Hex-Code convertieren und schon kommt immer #000 raus...

    Wäre nett wenn mir jemand helfen könnte und auch sagen könnte, ob es überhaupt machtbar ist.
    Achja diese Methode da Macht einfach einmal ein BMp und dann mit GetPixel die Farbe auslesen. Ist nicht schön aber ich dachte dann würde es funktionieren.


    EDIT: sorry wie kann ich Fliestext bei VB-Script ausschalten?
    Hi,

    Es gab hier mal ein Programm was genau das gemacht hat, was du möchtest. Da ich den Namen nicht mehr weiss, kann ich nur noch ein sagen. Probiers mal mit der FastGraphics Lib. Die (wie der name verrät) liest es viel schneller aus als dein Code. Schau mal nach.

    Gruß Eydle Soft
    Wozu schreibt man ab, obwohl man es doch kann? :)

    ::Forum für Entwickler hier::