Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
GGX_
Newbie
Newbie

Anmeldedatum: 12.06.2007
Beiträge: 10

Aktuellen Screen mit GetPixel auslesen!
Verfasst am: 19.08.2007, 14:08

Hi Leute,

Meine Fage ist es möglich mit GetPixel alle pixel des monitors auszulesen?
Wenn bestimmte Pixel vorkommen sollte es mir angezeigt werden.
Danke im Vorraus!


Danke im Vorraus

Edit//

Ich hab es jetzt so:

[vb:1:ce024800f5]
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type

Dim CurPos As POINTAPI


Private Sub Command2_Click()
Dim a
Dim b
Dim Farbe As Long
Dim HFarbe As String
Dim wdc As Long
Dim CurPos As POINTAPI

On Error Resume Next
wdc = GetWindowDC(0)


For a = 1 To Screen.Width / Screen.TwipsPerPixelX
For b = 1 To Screen.Height / Screen.TwipsPerPixelY
Farbe = GetPixel(wdc, a, b)
Next
Next
MsgBox "Fertig"
End Sub

Private Sub Form_Load()
Timer1.Interval = 100
Label2.Caption = Screen.Width / Screen.TwipsPerPixelX
Label3.Caption = Screen.Height / Screen.TwipsPerPixelY
Label4.Caption = (Screen.Width / Screen.TwipsPerPixelX) * (Screen.Height / Screen.TwipsPerPixelY)
End Sub

Private Function RGBnachHEX(ByVal Farbe As Long) As String
Dim Rot As String
Dim Grün As String
Dim Blau As String
Dim HRot As String
Dim HGrün As String
Dim HBlau As String

Rot = Farbe And &HFF&
Grün = Farbe And &HFF&
Blau = Farbe And &HFF&
HRot = Hex(Rot)
HGrün = Hex(Grün)
HBlau = Hex(Blau)

If Len(HRot) < 2 Then HRot = "0" & HRot
If Len(HGrün) < 2 Then HGrün = "0" & HGrün
If Len(HBlau) < 2 Then HBlau = "0" & HBlau

RGBnachHEX = "#" & HRot & HGrün & HBlau
End Function
[/vb:1:ce024800f5]


Jetzt frage an Euch wäre es möglich dies noch schneller abzufragen?
Bitte helft mir! Crying or Very sad
Danke im Vorraus
_________________
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 19.08.2007, 15:33

[vb:1:94da7cc2a9]
For a = 1 To Screen.Width / Screen.TwipsPerPixelX
For b = 1 To Screen.Height / Screen.TwipsPerPixelY
Farbe = GetPixel(wdc, a, b)
Next
Next a
[/vb:1:94da7cc2a9]

Du solltest die Berechnung von "Screen.Width / Screen.TwipsPerPixelX" und auch die von Y in jeweils eine Variable übergeben. Natürlich vor der Schleife.
Aber schneller wird es mit dieser Methode schätze ich nicht mehr gehen.
Außer du wüßtest ungefähr die Koordinaten der Pixel die du auslesen willst.
Dann müßtest du nicht den ganz Bildschirm durchgehen.
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: getpixel, pixel, auslesen, screen

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 869 09.06.2011, 12:19
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 796 20.05.2002, 00:28
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2432 06.03.2008, 20:19
Keine neuen Beiträge Eine kleine Frage an euch.. 906 30.09.2007, 08:57
Keine neuen Beiträge Listbox speichern & laden 2047 22.03.2007, 20:25
 



[ Time: 0.1751s ][ Queries: 85 (0.0404s) ][ GZIP on - Debug on ]