LordJashin Posted July 4, 2012 Share Posted July 4, 2012 Made this way back when I was testing/learning about Colors and Tolerance. I've yet to expand this to arrays but w/e. Learn from this code, just run it in SCAR and then read the debug box, go through the code, and the comments. I could sum it up here, but the code proves it, and could be a good resource to use later. [sCAR] program ColorsAndTolerance; var C, w, h, bmp: Integer; // x, y: Integer; procedure SetupBitmapDebug; begin ClearDebug; bmp := BitmapFromString(45, 38, 'ceNrdWAdQVNcaXkACUYyDJ' + 'FiRtpQFXRaWJlVBQEBcisLuKkrQKIoaAy9oREFRWZQqRKoLAYUnI' +'MXCC+KzEDUjSrBgVCxBqYpolHpE4X//vSjjmOSxljxn3p0zd86ee' +'+5/vvvX718G430vKSmGk8MEKcbHvGRlpcVp5kCEmzZM/VgY5OVlD' + 'h6wQQxw33OgWxAYoP1RMJQfngm9QqieBaWm8PPMFx0+vDmT/5cYR' +'oyQLi6whh4BVFhCnBYkaEE2G5E8fTBfnzXmAx408lMZgY+ajZWy6' +'pRRMjJvOmByogn0CuDMDEjVg+1qIFKHDH04ZAZ1LtcuzRmtMOJDw' +'TAyHEsZvVcw0CvoeuRdU+Wcnmz6lT9TQ12B763a3yO4ecIuP1QnZ' +'sGkiLnKMfPH53+jUZdj3H/FCZ54J8UbfygY/PmqFIwaByi3gKMWc' +'M4Obs+Bx/NTk0wQjN8iXdFW34qyxLrafzbd2VtXG32szE+0zchPq' +'B6+YWrDLZ6O9mdZGeZVp52KC2zWf6vHYStKvVNIfxvEomAUGUMyC' +'9L04AD3eaVtVAhr5TK9G1digdwE8hhIB5BHQBqB3ABSA6QcyNa62' +'rkYMizdzzrbvSkJnXzoRpUKr1+eEx46TUVl1FvB2BXLhQ4fSNKBc' +'BVI0G4TGwhdJpys8KDPugrkNyBNQFrp+x165TyQU0DKgKQAWVx5b' + 'JbAR/VBoyc0u8N5ezg7g1Jmj+B5F7+kwMba8gsJlZMjno7ZAHbrQ' + 'rxWW6Ket+P4xtt8ICVAzgD5hT63jtYJ6qEWSDWQ00AqgJQCyQMSD' + '2Rh028e3vOmPKiZDadtIc8QdmlDjgFcd0YwqByX2RMlgVGcbw1N7' + 'lDI7cvnCh3HNd1xB7ILyBEg/6ZPrKLB1NAAqugVXD8MpABINq2QE' + 'LRIc72HgDe5r9IWcjkQqQ6RatTkmnPrPU+5T6QlgVF2cAa0emIq2' + 'LlK88RReyDLgOwFUkifdRTICSCVQH6i78dpSx2in+KedBpwJBBfR' + 'HLq2CzRSk0qv6FiMcPs46CSt4SxJfSNov3WGHptl5wDljApTyPrg' + 'GQAyQGS399TRB9aRo8jA70HOx/lDfTup58ihkQgO4FsoZHji8IVS' + '5n3S6dT3o6qqLDE8FdWlpcQRnw0FyXs2Ma5fMGFlhaK8nt+TxKn+' + 'RfmrdqTuqy9ZQ9Cwnt68tKy0qCMZL8HDdG0HhBDBJDvgCwfhFFb4' +'xq5RgsVC8et4O5cdH7JIwVrNzqSn6/GoCja1lG52QtJB7pfykBv2' + 'g8Z/kDEOZlL+nvS6JXEHDFuEwHZTGP4BsiSV+8K/YRqUO8GN1072' + 'uaNGycvOQw91his3UFf674StQpIWEEuBkvU7WvfXa4OKcz7sr8nP' + 'j/X72Hz1poqPFRUkOsDZBNtvrVAVgBZNAQjJFivvcETuvhhb8MH1' + 'NUVWu96nDvpkJFs9krUl0CCC3IxXjbqaCt9IisTGeHY37N1X9Y8p' + 'qaStLTUvVur8/fxgAQBWU17xeIhDDgy083PnnK8WOWMdVlCDGPGy' + 'Nb+4gINvH+JTYvzbV6Ttjw325F0rHF2Usdtq1YYAVmfkuSEGCaMH' + '9XeErA3ywFIABD/wRh5fRw8YLs1nM3UHC0hBpRZWmgDjTx0p4o4d' + 'kGeFQohT30w7h63enf/7itOtclMnxkYoN/ejMcF9j5ZvmGdYWKc5' + 'Q8Ztt2PfYcANN5xr6t1G4JRlG8dH22Ul20hIYzgtSyMUzhshsF1J' + 'U4/IYaKl0TXSfUMRoKmAnmKvrEAMyRt98WvxiJ6ZcHQodVnnIrlZ' + 'U5JSx3Jthxc+T7B+OIxO6zLpsZKwxd3zthneBCyKeQwcVq9yawVd' + 'NIQq44CBqNURuphk9cb2v7TkZts2stgDDAYmat1BlcCl2t1n7TFA' + 'l2QazWsOS6cnU2RGSzu4qmweQpWkyXO4/q6+GfK7TezFUtSzSTBg' + 'ANra4qvRoTZ5w230aWFz7sE/m4TqfR1wb6vk4886r8j4RqOvXnVj' + 'aKXFx2pSrRbN2+txsEiWxSFZfFKtYuEMHBcrnYpKXzp3kdKZuSsU' + 'IXvdSBzGn5m+MZpw9pl9GjZtN2maERo9oAy874fLQTuk190C553C' + 'zas0x/8umEHbsPNqASc47v8OROfpenDlikQy8QAvPWr2x9Z5Z+nU' + 'McJlFoQTAOvPGd6TJQhCnzWycc8jPN7t3h/BQAf4Qbc9qyDP7iCA' + 'VIWwaL0EMOEdH245IiLZiZKEoaMnJwMkrdHLfPQRphOfzw0c8jue' + '7MsRNs4O7ZzokXUiYmxXJzgT1zERy9JFz0qjtiFBjCh0gYJA1Vby' + '6djTcH1qG2ct+Jg/n6aos1spEBcjuLLzui1gUUHQxizCk7+qJnDx' + 'bZrVuq8aOAB8uSrs6HF40WX4KfjDgFfaSkpyb0VjJ8rHQfO2bUks' + 'J7Eakd5jQsN0cMyPaxv4J6N6/UjIwwoeD2C+/c8MU6RSI8f/+m78' + 'fNfL7pClR3Vg0RMgZ0am+YqI69DDtD2FwnkYbMXZjxb47FJwgnRy' + '9RiAzVjtrDD3ru9vXuTB7VOUMCFRG2IY9bH6GalmVWdcghequHPV' + 'w1eoxu7wyglyQTvwV/r+gvVgtboIntMWapCES3MPOiT3YLtEQbvC' + 'QPJJJVGuviYAKHNC0dMJKcdVYHMtsLyqZh9I1yjJkTtukjnSaEJV' + 'iLMTqFrdch+LmROhT1TMROiXbSYo98Txrp/6KGSsdxnppljscbSg' + 'L0Gdm0DWHewh8Jki20jfnUKCykNpgh06ePl9hRm9ElsLTv5+PPva' + '6WxI4NWDyo/4ydjAWqg9LBQoEZ32VJeHiqnTzgMhs/cv7PHHzlyx' + 'KXzzhQfuGAPT3062r3dXCe98ReQAVsxIowtYcJ854upqTAYL/V1P' + 'I6B4kf8x8nGShlz2hefyzH+X67/ACjydsU='); w := 300; h := 300; bmp := ResizeBitmap(bmp, w, h); DebugBitmap(bmp); FindWindowTitlePart('Debug Image', false); ActivateClient; wait(1000); end; begin SetupBitmapDebug; //PickColor(C, x, y); Allows user to pick color using SCAR's color picker tool // Get Color, Count Color C := GetColor(100, 100); // Gets the color at coords MoveWindMouse(100, 100, 2, 2); WriteLn('C = Color at (100, 100) = ' + IntToStr©); WriteLn('Counted color C: ' + IntToStr(CountColor(C, 0, 0, w - 1, h - 1)) + ' times'); // Counts the color //Set Tolerance Algorithm/Find which algorithm we are using WriteLn('Default Color Tolerance Speed: ' + IntToStr(GetColorToleranceSpeed)); ColorToleranceSpeed(1); // Changes the color tolerance speed // GetTol between 2 colors using current algo, Are 2 colors in this range of tol, counting colors with tol WriteLn('The tolerance between C and C + 28 = ' + IntToStr(GetTolerance(C, C + 28))); WriteLn('The tolerance between C and C + 29 = ' + IntToStr(GetTolerance(C, C + 29))); WriteLn('Set at Tol 28, C and C + 28 are they in the tol range = ' + BoolToStr(SimilarColors(C, C + 28, 28))); WriteLn('Counting Color C at Tol 28: ' + IntToStr(CountColorTolerance(C, 0, 0, w - 1, h - 1, 28))); //Get Closest color to 100 out of this array of colors and return it (Array is a TIntArray) WriteLn('Closest Color to the 100 color out of this array using current tol algorithm = ' + IntToStr(GetClosestColor(100, [97, 98, 101]))); wait(5000); FreeBitmap(bmp); HideDebugImgWindow; end. [/sCAR] Quote Link to comment Share on other sites More sharing options...
Ranqers Posted December 7, 2012 Share Posted December 7, 2012 what ever happend to FindColorTolerance() Quote Link to comment Share on other sites More sharing options...
Janilabo Posted December 7, 2012 Share Posted December 7, 2012 FindColorTol(). Quote Link to comment Share on other sites More sharing options...
Ranqers Posted December 7, 2012 Share Posted December 7, 2012 thnks Quote Link to comment Share on other sites More sharing options...
LordJashin Posted December 7, 2012 Author Share Posted December 7, 2012 Yeah this is a pre SCAR 3.35 examples/tutorial. I need to update it. Quote Link to comment Share on other sites More sharing options...