- // ½ØÆÁ
- var img = screen.screenShotFull();
- // ¶¨ÒåÄ¿±ê RGB Öµ£¨¼ÙÉèÄ¿±êͼ±êµÄ RGB ֵΪ [255, 0, 0]£©
- var targetRgb = [255, 0, 0];
- // ±éÀúÆÁÄ»Ä³ÇøÓò£¨ÀýÈç [100, 100] µ½ [300, 300]£©£¬²éÕÒÄ¿±ê RGB Öµ
- var startX = 100;
- var startY = 100;
- var endX = 300;
- var endY = 300;
- for (var x = startX; x <= endX; x++) {
- for (var y = startY; y <= endY; y++) {
- // »ñÈ¡µ±Ç°×ø±êµÄ RGB Öµ
- var rgb = img.getRealPointRGB(x, y);
- // ¼ì²éÊÇ·ñÆ¥ÅäÄ¿±ê RGB Öµ
- if (rgb[0] === targetRgb[0] && rgb[1] === targetRgb[1] && rgb[2] === targetRgb[2]) {
- console.log("¼ì²âµ½Ä¿±êͼ±ê£¬×ø±êÊÇ:", x, y);
- // Ä£Äâµã»÷¸ÃλÖÃ
- click(x, y);
- break;
- }
- }
- if (rgb && rgb[0] === targetRgb[0] && rgb[1] === targetRgb[1] && rgb[2] === targetRgb[2]) {
- break;
- }
- }
- // Èç¹ûûÓÐÕÒµ½Ä¿±êͼ±ê£¬¿ÉÒÔÖ´ÐÐÆäËûÂß¼
- if (x > endX && y > endY) {
- console.log("δ¼ì²âµ½Ä¿±êͼ±ê");
- }
¸´ÖÆ´úÂë
ÕâÀïµÄ screen.screenShotFull() ÊÇÒ»¸ö½ØÆÁº¯Êý£¬ÓÃÓÚ²¶»ñµ±Ç°ÆÁÄ»µÄÈ«ÆÁÄÚÈÝ£¬²¢½«Æäת»»ÎªÒ»¸ö¿ÉÒÔ²Ù×÷µÄͼÏñÊý¾Ý£¨Í¨³£ÊÇÒ»¸öλͼ»òÏñËØÊý¾Ý£©¡£Õâ¸ö²Ù×÷µÄ½á¹ûÊÇÒ»ÕÅÐéÄâµÄ¡°ÆÁÄ»½ØÍ¼¡±£¬ÆäÄÚÈݰüº¬ÁËÆÁÄ»ÉÏËùÓпɼûÔªËØµÄÏñËØÐÅÏ¢¡£ 2. »ñÈ¡×ø±ê RGB Öµ (getRealPointRGB(x, y)) ÔÚ½ØÆÁºó£¬Äã¿ÉÒÔͨ¹ýµ÷Óà img.getRealPointRGB(x, y) À´»ñÈ¡ÆÁÄ»ÉÏÈÎÒâ×ø±êµã (x, y) µÄ RGB ÑÕɫֵ¡£¾ßÌ庬ÒåÈçÏ£º x: ºá×ø±ê£¬±íʾÆÁÄ»ÉϵÄˮƽλÖᣠy: ×Ý×ø±ê£¬±íʾÆÁÄ»ÉϵĴ¹Ö±Î»ÖᣠRGB ÑÕɫֵ: ÿ¸öÏñËØµãµÄÑÕÉ«ÓÉÈý¸ö·ÖÁ¿×é³É£¬·Ö±ðÊÇ ºì£¨Red£©¡¢ÂÌ£¨Green£©¡¢**À¶£¨Blue£©**Èý¸öÑÕɫͨµÀµÄÖµ£¬·¶Î§¾ùÔÚ 0 µ½ 255 Ö®¼ä¡£ÀýÈ磺 (255, 0, 0) ±íʾ´¿ºìÉ«¡£ (0, 255, 0) ±íʾ´¿ÂÌÉ«¡£ (0, 0, 255) ±íʾ´¿À¶É«¡£ (255, 255, 255) ±íʾ°×É«¡£ (0, 0, 0) ±íʾºÚÉ«¡£ getRealPointRGB(x, y) µÄ×÷ÓþÍÊÇ´Ó½ØÆÁͼÏñÖÐÌáȡָ¶¨×ø±êµãµÄÏñËØÐÅÏ¢£¬²¢ÒÔ RGB Êý×éµÄÐÎʽ·µ»Ø¡£ 3. ʾÀý´úÂëÏê½â ¸ù¾ÝÄãµÄ´úÂ룺 // ½ØÆÁ var img = screen.screenShotFull(); // »ñÈ¡ÕæÊµ×ø±ê RGB Öµ var rgb = img.getRealPointRGB(100, 100); // Êä³ö RGB Öµ console.log(rgb); ²½Öè½âÊÍ£º ½ØÆÁ£º µ÷Óà screen.screenShotFull() »ñÈ¡µ±Ç°ÆÁÄ»µÄÈ«ÆÁÄÚÈÝ£¬²¢½«½á¹û¸³Öµ¸ø±äÁ¿ img¡£ »ñȡĿ±ê×ø±êÑÕÉ«£º µ÷Óà img.getRealPointRGB(100, 100)£¬´«Èë×ø±ê (100, 100)£¬»ñÈ¡¸Ã×ø±ê¶ÔÓ¦µÄ RGB ÑÕɫֵ¡£ ·µ»ØÖµÊÇÒ»¸öÊý×飬ÀýÈç [R, G, B]£¬±íʾ¸ÃµãµÄÑÕÉ«¡£ Êä³ö½á¹û£º ʹÓà console.log(rgb) ´òÓ¡³ö»ñÈ¡µ½µÄ RGB Êý×é¡£ ¿ÉÄܵÄÊä³öʾÀý£º Èç¹ûÆÁÄ»ÉϵÄ×ø±ê (100, 100) ÊÇÒ»¸öºìÉ«ÇøÓò£¬Êä³ö¿ÉÄÜÊÇ£º [255, 0, 0] Èç¹û¸ÃµãÊǰ×É«£¬Êä³ö¿ÉÄÜÊÇ£º [255, 255, 255] Èç¹û¸ÃµãÊdzÈÉ«£¨ÈçÄãÌáµ½µÄ #F4C51F£©£¬×ª»»Îª RGB Öµ¿ÉÄÜÊÇ£º [244, 197, 31] 4. Ϊʲô½Ð¡°ÕæÊµ×ø±ê RGB¡±£¿ ¡°ÕæÊµ×ø±ê¡±£ºÕâÀïµÄ¡°ÕæÊµ×ø±ê¡±Ö¸µÄÊÇÆÁÄ»ÉϵÄʵ¼ÊÎïÀí×ø±ê£¨Ïà¶ÔÓÚÆÁÄ»×óÉϽǵÄÏñËØÎ»Öã©¡£ÄãÌṩµÄ×ø±ê (100, 100) ÊÇÆÁÄ»ÉÏÒ»¸öÃ÷È·µÄµã£¬º¯ÊýÖ±½Ó¸ù¾ÝÕâ¸öµãµÄÏñËØÊý¾ÝÌáÈ¡ÑÕÉ«¡£ ¡°RGB¡±£º±íʾÑÕÉ«ÐÅÏ¢£¬Ã¿¸öÏñËØµÄÑÕÉ«Óɺ졢ÂÌ¡¢À¶Èý¸öͨµÀµÄÖµ±íʾ¡£ Õâ¸öº¯ÊýµÄºËÐÄÒâÒå¾ÍÊÇÈÃÄã¸ù¾ÝÆÁÄ»ÉϵÄij¸ö¾ßÌåλÖ㬻ñÈ¡Æä¶ÔÓ¦µÄÏñËØÑÕÉ«ÐÅÏ¢¡£ 5. ʵ¼ÊÓÃ; getRealPointRGB(x, y) µÄ¹¦Äܷdz£ÊµÓ㬳£¼ûÓÚÒÔϳ¡¾°£º ÆÁĻʶ±ð£º ͨ¹ý¼ì²éij¸ö×ø±êµãµÄÑÕÉ«£¬Ê¶±ðÆÁÄ»ÉϵÄÌØ¶¨ÔªËØ£¨Èç°´Å¥¡¢Í¼±ê¡¢ÎÄ×ֵȣ©¡£ ÑÕɫƥÅ䣺 ¼ì²éÒ»¸öÇøÓòµÄÑÕÉ«ÊÇ·ñ·ûºÏÔ¤ÆÚ£¬ÀýÈçÈ·±£Ä³¸öÑÕÉ«³öÏÖ»òÏûʧ¡£ ¶¯Ì¬¶¨Î»£º ÔÚijЩÇé¿öÏ£¬ÆÁÄ»ÉϵÄÔªËØ¿ÉÄÜ»áÒÆ¶¯£¬µ«ÑÕÉ«±£³Ö²»±ä¡£¿ÉÒÔͨ¹ýÑÕɫʶ±ðÀ´¶¯Ì¬¶¨Î»¡£ ÓÎÏ·×Ô¶¯»¯£º ÔÚÓÎÏ· ½Å±¾ÖУ¬¿ÉÒÔͨ¹ý¼ì²âÌØ¶¨ÑÕÉ«ÅжÏÓÎÏ·½çÃæµÄ״̬£¨Èç¼ì²âµÐÈË¡¢×ÊÔ´µÈ£©¡£ 6. ×¢ÒâÊÂÏî ÔÚʹÓà getRealPointRGB(x, y) ʱ£¬ÐèҪעÒâÒÔϼ¸µã£º ×ø±ê·¶Î§£º È·±£ÌṩµÄ×ø±ê (x, y) ÔÚ½ØÆÁµÄ·¶Î§ÄÚ¡£Èç¹û×ø±ê³¬³ö½ØÆÁ±ß½ç£¬¿ÉÄܻ᷵»Ø´íÎó»òÎÞЧֵ¡£ ÑÕɫƥÅäÎó²î£º ÆÁÄ»ÉϵÄÑÕÉ«¿ÉÄÜÓÉÓÚ¹âÕÕ¡¢Ëõ·ÅµÈÒòËØ´æÔÚϸ΢²îÒì¡£½¨ÒéÔÚÆ¥ÅäÑÕɫʱÔÊÐíÒ»¶¨µÄÈÝ´í·¶Î§£¨ÀýÈç RGB ÖµµÄÿ¸ö·ÖÁ¿ÔÊÐí ¡À10 µÄÎó²î£©¡£ ×ø±êϵ£º ²»Í¬µÄ¹¤¾ß»ò¿ò¼Ü¿ÉÄÜʹÓò»Í¬µÄ×ø±êϵ£¨ÈçÆÁÄ»×óÉϽÇÊÇ (0, 0)£¬»¹ÊÇÆäËû×ø±êϵͳ£©¡£È·±£ÄãµÄ×ø±êÊÇ»ùÓÚÕýÈ·µÄ×ø±êϵ¡£ ×ܽá getRealPointRGB(x, y) µÄ×÷ÓÃÊÇ´ÓÆÁÄ»½ØÆÁÖÐÌáȡָ¶¨×ø±ê (x, y) µÄ RGB ÑÕɫֵ£¬°ïÖúÄã·ÖÎöÆÁÄ»ÉϵÄÑÕÉ«ÐÅÏ¢¡£½áºÏ½ØÍ¼¹¤¾ß£¬Äã¿ÉÒÔ¸ù¾ÝÆÁÄ»ÄÚÈÝʵÏÖÆÁĻʶ±ð¡¢ÑÕÉ«¼ì²â¡¢¶¯Ì¬¶¨Î»µÈ¹¦ÄÜ¡£
|