Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-04 20:28:47 - Morgan Emgardsson, i forum visual basic - allmänt, Tråden har 17 Kommentarer och lästs av 1344 personer

Någon som har förslag på hur man skulle kunna hämta ut en valfri pixel från skärmen och få den återskapad i sitt program med rätt färgkod...

Detta kanske är otroligt klurigt. Men är tacksam för den lilla information jag kan få som hjälp på vägen...

// Morgan


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-04 21:18:45 - Sven Åke Persson

<code>
Private Declare Function GetPixel Lib "gdi32" _
(ByVal hdc As Long, ByVal x As Long, _
ByVal y As Long) As Long
</code>

If the function succeeds, the return value is an RGB value.


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-04 23:11:29 - Morgan Emgardsson

Det var ju inte mycket att gå på. Men tack för visat intesse.

Nästa förslag tack...


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-04 23:51:31 - Robert Israelsson

Varför så tråkig ton när du fått lösningen på ditt problem? Det enda du behöver göra är att välja vilken pixel du vill ha info om!

Kolla in: [GetPixel]

Eller http://www.allapi.net/apilist/GetPixel.shtml


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 01:30:01 - Björn Johansson

För att få hdc för hela skärmen anger du mycket möjligt bara NULL till funktionen eller så använder du GetDC() med NULL som parameter för att få detta.

http://msdn2.microsoft.com/en-us/library/ms533241.aspx


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 03:31:22 - Morgan Emgardsson

Jag kan ju börja med att djupt beklaga om jag ohövlig. Vilket inte alls var meningen.

Tack Björn och ni andra för hjälpen nu vet jag hur jag skall gå tillväga…


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 09:34:39 - Andreas Hillqvist

<b>Men är tacksam för den lilla information jag kan få som hjälp på vägen... </b>
...
<b>Det var ju inte mycket att gå på.</b>

Man kan väl säga att du fick väl vad du frågade efter.
Om du inte förstår dig på API skall du be om ett förtydligande istället för att avfärda den information du fått.

Jag är intresserad varför du skall hämta en pixel?

Om du vill ta en skärm dump av hela/del av skärmen finns det andra effektivare sätt.
Vill du ha en windows/system färg finns det andra bättre alternativ.

Så om du istället beskriver vad du vill åstadkomma inte hur du löser det.


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 11:07:33 - Sven Åke Persson

Det är Ok Morgan förstod att informationen var bristfällig.

Ville bara sätta dig på spår.


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 12:39:23 - Sven Åke Persson

Nu kör jag fast.
Hur tusan får jag reda på Screen hDC

<code>
Option Explicit
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long)

Private Sub Command1_Click()
Dim scrDc As Long
scrDc = GetDC(Null)
MsgBox scrDc
End Sub
'Detta funkar inte ,hur skriver jag Null
</code>


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 13:03:12 - Andreas Hillqvist

Det är enklare än du tror. Testa med 0.

Här är ett exempel som med en timer läser av färgen där man håller musen:

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Sub Timer1_Timer()
Dim hDC As Long
Dim Color As Long
Dim lpPoint As POINTAPI
    GetCursorPos lpPoint
    hDC = GetDC(0&)
    Color = GetPixel(hDC, lpPoint.x, lpPoint.y)
    If Color = -1 Then
    Else
        BackColor = Color
    End If
End Sub


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 13:32:19 - Sven Åke Persson

AHA perfekt

Testade 0 (noll) men fick fel, glömde 0#


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 14:16:55 - Sven Åke Persson

Modifierade Andreas exempel lite kan hämtas

Programarkivet:API GetPixel


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 16:17:16 - Morgan Emgardsson

Hej igen

<code>
' Jag är intresserad varför du skall hämta en pixel?
</code>
Jag försöker skapa ett litet program där man plockar in en valfri bild från det som finns på skärmen. Som är t.ex. 20 x 40 pixlar stor. Och sedan plocka ut färgerna som den består av i klartext.

Vet inte riktigt hur jag skall gå tillväga men jag har ju fått lite information tack vare detta forum.

Tack för visat intresse // Morgan


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 16:49:47 - Morgan Emgardsson

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Sub Timer1_Timer()
Dim hDC As Long
Dim Color As Long
Dim lpPoint As POINTAPI
    GetCursorPos lpPoint
    hDC = GetDC(0&)
    Color = GetPixel(hDC, lpPoint.x, lpPoint.y)
    If Color = -1 Then
    Else
        frmColor.BackColor = Color
        lblColor.Caption = GetPixel(hDC, lpPoint.x, lpPoint.y)  '<- här rablar den bara
                                                                'en massa 8 siffriga
                                                                'kombinationer...
                                                                
    End If
End Sub


Satt och klurade lite med koden… När jag lägger till följande:
lblColor.Caption = GetPixel(hDC, lpPoint.x, lpPoint.y)

Så skrivs det ut ett tal med åtta siffror som ändras beroende på vart jag sätter markören. Varje färg har sin kombination och detta är ju precis vad jag letar efter.

Det jag nu är lite nyfiken på är hur jag ersätter:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Så jag själv I koden kan ange vilken pixel på skärmen som skall mätas. Men jag får klura lite så återkommer jag om det kör ihop sig…

Tack för informationen // Morgan


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-05 17:32:43 - Andreas Hillqvist

Då är det BitBlt du är ute efter.


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-06 14:52:17 - Sven Åke Persson

<b>Jag försöker skapa ett litet program där man plockar in en valfri bild från det som finns på skärmen. Som är t.ex. 20 x 40 pixlar stor. Och sedan plocka ut färgerna som den består av i klartext. </b>

Kan du tänka dig att plocka ut bilden med Capture från tex PaintShop.
Och sedan importera denna Capture till en PictureBox i Vb ?

I så fall har jag en lösning jag användt.


Svara

Sv:Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-07 16:29:32 - Morgan Emgardsson

Hej Sven...

Detta låter mycket intressant... Låt höra...


Svara

Sv: Hämta ut en valfri pixel från skärmen...

Postades av 2006-12-07 18:48:00 - Sven Åke Persson

Programmet jag tänker på scannar bilden pixel för pixel och lägger upp varje color i en array.

Sen kommer frågan hur varje pixelfärg skall presenteras . ListBox eller hur har du tänkt ?

Skall det vara Vb format eller rå RGB i Hex format. Ex. #EED077. eller Vb format &H77D0EE&


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 877
27 965
271 771
636
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies