Nån som vet hur man på ett enkelt sätt plockar ut pixlar(färgen på pixlen) från bilder (BMP(JPG/GIF) i Visual Basic... Ett enkelt sätt är att ladda in den i en Imagebox, sätta Strech till True och sedan göra så här: Precis som Niklas redan har nämnt så kan du använda Point metoden. Perfekt. Jag var ganska säker på att min metod inte skulle vara något vidare. Förresten tror jag att den är fel. Strech måste vara false... :) Hej Nu tar jag mig friheten att kompletera med ett svar som du inte efterfrågade. Point eller GetPixel är mycket långsamt sätt att hantera bilder.Plocka ut pixlar?!
Vore tacksam för svar....
//MagnusSv: Plocka ut pixlar?!
Pixel = imgBild.Point(x,y)
Kan dock bli lite ineffektivt, antar jag.
/Niklas JanssonSv: Plocka ut pixlar?!
Den är dock väldigt, väldigt långsam...
Det spelar ingen större roll om du bara vill plocka färgen på en pixel som musen är över men om du ska loopa igenom alla pixlar i en bild så tar det en evig tid.
En något snabbare variant är att använda GetPixel API funktionen.
Även den tar tid om du loopar igenom en stor bild men den är i alla fall snabbare än Point.
<code>
Private Declare Function GetPixel _
Lib "gdi32" ( _
ByVal hdc As Long, _
ByVal x As Long, _
ByVal y As Long) As Long
</code>Som du ser måste du skicka in hDC som första argumentet så den funkar inte på Image kontroller eftersom de saknar hDC egenskapen.
Men för en Form eller PictureBox funkar den utmärkt.Sv: Plocka ut pixlar?!
/Niklas JanssonSv: Plocka ut pixlar?!
Du kan ta en koll på mitt uppskick Programarkivet:138 WebCam experiment
mvh
SvenSv: Plocka ut pixlar?!
Ladda net API guide och kika på:
* GetDIBits
* GetBitmapBits
Betydligt snabbare att arbeta mot byte arrayer.