rebelcitymogo Posted April 15, 2009 Share Posted April 15, 2009 Red pixel comes out to be blue and blue pixel comes out to be red! Link to comment Share on other sites More sharing options...
PsaltyDS Posted April 15, 2009 Share Posted April 15, 2009 Red pixel comes out to be blue and blue pixel comes out to be red!No, it doesn't. More likely, you have misinterpreted the 24-bit RGB value.If you still think it does, post a short demo script that reproduces the error. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
BinaryBrother Posted April 15, 2009 Share Posted April 15, 2009 (edited) I set out to prove the guy wrong... So I hovered over the Blue section of the forums, and took a PixelGetColor and converted it to hex using...Hex("9886198") ; The color found... and he's right... It's red?I used the RGB/Hex converter here to have the color displayed for me...http://www.web-wise-wizard.com/html-tutori...-converter.htmlReproduction:HotkeySet("{ENTER}","Testicles") While 1 $Color = Hex(PixelGetColor(MouseGetPos(1),MouseGetPos(2))) TrayTip("Color",$Color,5) WEnd Func Testicles() ClipPut($Color) EndFunc Edited April 15, 2009 by BinaryBrother SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
rebelcitymogo Posted April 15, 2009 Author Share Posted April 15, 2009 Please temme a way out because i need this solution urgently!! Link to comment Share on other sites More sharing options...
rebelcitymogo Posted April 15, 2009 Author Share Posted April 15, 2009 from my experience the b and r components are mixed or refrenced opposite to what they should be.. since i m getting colour of thesame pixel thru c# where the r and b components are exactly opposite. It works fine for black and green .. yellow gives aqua , red gives blue and blue gives red and hence every colour tht has blue and red ..the r and b are opposite Link to comment Share on other sites More sharing options...
BinaryBrother Posted April 15, 2009 Share Posted April 15, 2009 (edited) Aha... Looks like PixelGetColor is returning BGR instead of RGB... Although the latest version of AutoIt, which I have... Is supposed to use RGB by default, and documentation for "Opt(ColorMode,opt)" is missing... So I would assume that this might actually be a bug... Edited April 15, 2009 by BinaryBrother SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
PsaltyDS Posted April 15, 2009 Share Posted April 15, 2009 (edited) The problem is not PixelGetColor(), it is your MouseGetPos(): HotkeySet("{ESC}","_Quit") While 1 Sleep(100) $iX_A = MouseGetPos(0) $iY_A = MouseGetPos(1) $iColorA = PixelGetColor($iX_A, $iY_A) $sColorA = "0x" & Hex($iColorA, 6) $iX_B = MouseGetPos(1) $iY_B = MouseGetPos(2) $iColorB = PixelGetColor($iX_B, $iY_B) $sColorB = "0x" & Hex($iColorB, 6) TrayTip("Color", "$iX_A = " & $iX_A & @LF & _ "$iY_A = " & $iY_A & @LF & _ "$iColorA = " & $iColorA & @LF & _ "$sColorA = " & $sColorA & @LF & _ @LF & _ "$iX_B = " & $iX_B & @LF & _ "$iY_B = " & $iY_B & @LF & _ "$iColorB = " & $iColorB & @LF & _ "sColorB = " & $sColorB, 5) WEnd Func _Quit() Exit EndFunc It not the wrong color, it's the wrong pixel. MouseGetPos(0) returns X, MouseGetPos(1) returns Y, and MouseGetPos(2) is invalid. Edit: Tweaked demo to reflect good/bad parameters from the same method. Edited April 15, 2009 by PsaltyDS Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
BinaryBrother Posted April 15, 2009 Share Posted April 15, 2009 Ahh crap... Missed that... >.< SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
rebelcitymogo Posted April 15, 2009 Author Share Posted April 15, 2009 m not using any of the above: i think ur correct wen u say it returns BGR instead of RGB Link to comment Share on other sites More sharing options...
rebelcitymogo Posted April 15, 2009 Author Share Posted April 15, 2009 butthis will take me long time to manipulate andlot of extra code now.. so m using c# .. simply taking a screen dump and using get pixel method.. Link to comment Share on other sites More sharing options...
PsaltyDS Posted April 15, 2009 Share Posted April 15, 2009 m not using any of the above:i think ur correct wen u say it returns BGR instead of RGBNo, it does not. Unless you are using a VERY old version of AutoIt. Exactly what code are you getting the color with?Did you run my demo above? What numbers did you get (from the $sColorA value that uses the correct method)? Post a demo that shows what your issue is. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
BinaryBrother Posted April 22, 2009 Share Posted April 22, 2009 Hey PsaltyDS, I've got something interesting here...The above code is working now... I uninstalled everything, and reinstalled it... Somehow, my last upgrade didn't go over so well... I've been using the old version of AutoIt since December... I dunno how that happened... I noticed that the @CPUArch macro wasn't highlighting right in my SciTe, but I had updated documentation... So I decided to see if a reinstall would fix, and it did... It also fixed the RGB, BGR issue... SIGNATURE_0X800007D NOT FOUND Link to comment Share on other sites More sharing options...
herewasplato Posted April 22, 2009 Share Posted April 22, 2009 MsgBox(0, "", @AutoItVersion):-) salty - we build big wall You bang head against one side Others bang head against the other side We see who gets headache first :-) Good catch! @BinaryBrother, I've had the same thing happen and I too went months without noticing it until a script would not work for me like it did others in the forum :-( [size="1"][font="Arial"].[u].[/u][/font][/size] Link to comment Share on other sites More sharing options...
PsaltyDS Posted April 22, 2009 Share Posted April 22, 2009 Hey PsaltyDS, I've got something interesting here...The above code is working now... I uninstalled everything, and reinstalled it... Somehow, my last upgrade didn't go over so well... I've been using the old version of AutoIt since December... I dunno how that happened... I noticed that the @CPUArch macro wasn't highlighting right in my SciTe, but I had updated documentation... So I decided to see if a reinstall would fix, and it did... It also fixed the RGB, BGR issue... RGB color format has been the default since 2004! From the change log: 3.0.102 (4th August, 2004) (Release)- Major Change: Colors now default to the standard RGB format rather than the previous BGR format. This affects PixelSearch, PixelGetColor. The "ColorMode" option has been added to allow old scripts to run with the old BGR mode, just place this line at the top of your script to use the old method: Opt("ColorMode", 1) Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now