|
|
Subject:
Visual Basic 6 Getpixel API Function
Category: Computers > Programming Asked by: crushenator-ga List Price: $15.00 |
Posted:
21 May 2006 15:01 PDT
Expires: 22 May 2006 23:52 PDT Question ID: 731090 |
I'm trying to make a visual basic program that calls the Getpixel API function to check the color of pixel 0, 0, save the information to an array and then move on to the next pixel 1, 0 and so on untill it finishes scanning an area I designate. Heres an example of the code I have so far: tPOS.x = 1 tPOS.y = 1 x: lDC = GetWindowDC(0) 'Gets the DC of the current window lColor = GetPixel(lDC, tPOS.x, tPOS.y) 'Gets the current pixel color tPOS.x = tPOS.x + 1 'Moves one pixel along x axis If tPOS.x = 300 Then tPOS.y = tPOS.y + 1 reaches pixel 300, moves down 1 y If tPOS.x = 300 Then tPOS.x = 1 'Resets the x axis to 1 If tPOS.y = 5 Then GoTo y 'If it reaches y axis 5 goto y GoTo x 'Go to x to repeat loop y: Beep 'finished section MsgBox "Done" End Sub As you can see it scans 300 along the X axis and about 4 along the Y axis. The problem with this example of code is it takes too long! Even when I compile it takes 9 seconds to run the above example through, when ideally I'd want it to be able to scan 700 x 700 pixels in a matter of a few seconds at most. My question is, how can I make this code run faster? or is there a more efficient way in visual basic 6 to do what I'm doing? Thanks! |
|
There is no answer at this time. |
|
Subject:
Re: Visual Basic 6 Getpixel API Function
From: frde-ga on 22 May 2006 05:35 PDT |
That is not nice code - I will use GoTo if it simplifies things - but never otherwise - this is an 'otherwise' situation This is probably a question posed by a 'teacher' - in other words it is pure homework lDC = GetWindowDC(0) ' do it once For L9 = 1 To 300 For L8 = 1 To 4 lColor = GetPixel(lDC, L9, L8) ' do something Next Next However GetWindowDC(0) is suspect Also one would expect the base to be 0 rather than 1 eg: For L9 = 0 To 299 Also tPOS.x and tPOS.y are probably instances of Classes I see no sign of an Array - but you will need an Array of Longs to store a Windows colour - OLE_COLOR is the Alpha answer there Your teacher has given you some lousy code - what is required is a functional re-write |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |