JS¼¼Êõ

ÀûÓÃJavaScriptÆƽâÑéÖ¤Âë

×ÖºÅ+ ×÷Õߣº À´Ô´£º    2014-11-17 20:00 ÎÒÒªÆÀÂÛ( )

ÀûÓÃJavaScriptÆƽâÑéÖ¤Âë,ÔĶÁÀûÓÃJavaScriptÆƽâÑéÖ¤Âë,ÀûÓÃJavaScriptÆƽâÑéÖ¤Âë ½üÈÕ£¬ÍøÉϾªÏÖ¿ÉÒÔÆƽâÑéÖ¤ÂëµÄJavaScript½Å±¾¡ª¡ªGreaseMonkey!ÓÉ¡°Shaun Friedle¡±¿ª·¢µÄÕâ¶Î½Å±¾¿ÉÒÔÇáËɸ㶨MegauploadÕ¾µãµÄCAPTCHA¡£Èç¹ûÄú²»ÏàÐŵĻ°£¬¿ÉÒÔµ½http:/

ÀûÓÃJavaScriptÆƽâÑéÖ¤Âë


¡¡¡¡½üÈÕ£¬ÍøÉϾªÏÖ¿ÉÒÔÆƽâÑéÖ¤ÂëµÄJavaScript½Å±¾¡ª¡ªGreaseMonkey!ÓÉ¡°Shaun Friedle¡±¿ª·¢µÄÕâ¶Î½Å±¾¿ÉÒÔÇáËɸ㶨MegauploadÕ¾µãµÄCAPTCHA¡£Èç¹ûÄú²»ÏàÐŵĻ°£¬¿ÉÒÔµ½Ç××Ô³¢ÊÔÒ»ÏÂ!

¡¡¡¡ÏÖÔÚ£¬MegauploadÕ¾µãÌṩµÄCAPTCHAÔÚÉÏÊö´úÂëÃæÇ°ÒѾ­°ÜÏÂÕóÀ´£¬ËµÊµ»°£¬ÕâÀïµÄÑéÖ¤ÂëÉè¼ÆµÄ²»²»Ì«ºÃ¡£µ«¸üÓÐȤµÄÊÇ£º

¡¡¡¡1.HTML 5ÖеÄCanvasÓ¦ÓóÌÐò½Ó¿ÚgetImageData¿ÉÒÔÓÃÀ´´ÓÑéÖ¤ÂëͼÏñÖÐÈ¡µÃÏñËØÊý¾Ý¡£ÀûÓÃCanvas£¬ÎÒÃDz»½ö¿ÉÒÔ½«Ò»¸öͼÏñǶÈëÒ»¸ö»­²¼ÖУ¬¶øÇÒÖ®ºó»¹¿ÉÒÔÔÙ´ÓÖÐÖØÐÂÌáÈ¡³öÀ´¡£

¡¡¡¡2.ÉÏÊöµÄ½Å±¾Öаüº¬Ò»¸öÍêȫʹÓÃJavaScriptʵÏÖµÄÉñ¾­ÍøÂç¡£

¡¡¡¡3.ʹÓÃCanvas´ÓͼÏñÖÐÌáÈ¡³öÏñËØÊý¾Ýºó£¬½«ÆäËÍÈëÉñ¾­ÍøÂ磬ͨ¹ýÒ»ÖÖ¼òµ¥µÄ¹âѧ×Ö·ûʶ±ð¼¼ÊõÀ´ÍƲâÑéÖ¤ÂëÖе½µ×ʹÓÃÁËÄÄЩ×Ö·û¡£

¡¡¡¡Í¨¹ýÔĶÁÔ´´úÂ룬ÎÒÃDz»½ö¿ÉÒÔ¸üºÃµØÀí½âÆ乤×÷Ô­Àí£¬Ò²¿ÉÒÔÁì»áÕâ¸öÑéÖ¤Â뾿¾¹ÊÇÈçºÎʵÏֵġ£¾ÍÏñÇ°Ãæ¿´µ½µÄÄÇÑù£¬ÕâÀïʹÓõÄÑéÖ¤Âë²»ÊǺܸ´ÔÓ¡ª¡ªÃ¿¸öÑéÖ¤ÂëÓÐÈý¸ö×Ö·û×é³É£¬Ã¿¸ö×Ö·ûʹÓÃÒ»ÖÖ²»Í¬µÄÑÕÉ«£¬²¢ÇÒֻʹÓÃ26¸ö×ÖĸÖеÄ×Ö·û£¬¶øËùÓÐ×Ö·û¶¼Ê¹ÓÃͬһÖÖ×ÖÌå¡£

¡¡¡¡µÚÒ»²½µÄÓÃÒâºÜÃ÷ÏÔ£¬ÄǾÍÊÇ°ÑÑéÖ¤Â뿽±´µ½»­²¼ÉÏ£¬²¢ÇÒ°ÑËüת»¯Îª»Ò¶Èͼ¡£

      function convert_grey(image_data){
¡¡¡¡for (var x = 0; x < image_data.width; x++){
¡¡¡¡for (var y = 0; y < image_data.height; y++){
¡¡¡¡var i = x*4+y*4*image_data.width;
¡¡¡¡var luma = Math.floor(image_data.data[i] * 299/1000 +
¡¡¡¡image_data.data[i+1] * 587/1000 +
¡¡¡¡image_data.data[i+2] * 114/1000);
¡¡¡¡image_data.data[i] = luma;
¡¡¡¡image_data.data[i+1] = luma;
¡¡¡¡image_data.data[i+2] = luma;
¡¡¡¡image_data.data[i+3] = 255;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}


¡¡¡¡È»ºó£¬½«»­²¼·Ö³ÉÈý¸öµ¥¶ÀµÄÏñËؾØÕó£¬Ã¿¸ö¾ØÕó°üº¬Ò»¸ö×Ö·û¡£ÕâÒ»²½ÊµÏÖÆðÀ´·Ç³£ÈÝÒ×£¬ÒòΪÿ¸ö×Ö·û¶¼Ê¹ÓÃÒ»ÖÖµ¥¶ÀµÄÑÕÉ«£¬ËùÒÔͨ¹ýÑÕÉ«¾Í¿ÉÒÔ½«ÆäÇø·Ö¿ªÀ´¡£

      filter(image_data[0], 105);
¡¡¡¡filter(image_data[1], 120);
¡¡¡¡filter(image_data[2], 135);
¡¡¡¡function filter(image_data, colour){
¡¡¡¡for (var x = 0; x < image_data.width; x++){
¡¡¡¡for (var y = 0; y < image_data.height; y++){
¡¡¡¡var i = x*4+y*4*image_data.width;
¡¡¡¡// Turn all the pixels of the certain colour to white
¡¡¡¡if (image_data.data[i] == colour) {
¡¡¡¡image_data.data[i] = 255;
¡¡¡¡image_data.data[i+1] = 255;
¡¡¡¡image_data.data[i+2] = 255;
¡¡¡¡// Everything else to black
¡¡¡¡} else {
¡¡¡¡image_data.data[i] = 0;
¡¡¡¡image_data.data[i+1] = 0;
¡¡¡¡image_data.data[i+2] = 0;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}


¡¡¡¡×îÖÕ£¬ËùÓÐÎ޹صĸÉÈÅÏñËض¼±»ÌÞ³ý³öÈ¥¡£Îª´Ë£¬¿ÉÒÔÏȲéÕÒÄÇЩǰÃæ»òÕߺóÃæ±»ºÚÉ«(δƥÅäµÄ)ÏñËØΧÈƵİ×É«(Æ¥Åä¹ýµÄ)ÏñËØ£¬È»ºó½«Æ¥Åä¹ýµÄÏñËØɾ³ý¼´¿É¡£

      var i = x*4+y*4*image_data.width;
¡¡¡¡var above = x*4+(y-1)*4*image_data.width;
¡¡¡¡var below = x*4+(y+1)*4*image_data.width;
¡¡¡¡if (image_data.data[i] == 255 &&
¡¡¡¡image_data.data[above] == 0 &&
¡¡¡¡image_data.data[below] == 0) {
¡¡¡¡image_data.data[i] = 0;
¡¡¡¡image_data.data[i+1] = 0;
¡¡¡¡image_data.data[i+2] = 0;
¡¡¡¡}


¡¡¡¡ÏÖÔÚÎÒÃÇÒѾ­µÃµ½ÁË×Ö·ûµÄ´óԼͼÐΣ¬µ«ÔÚ½«ÆäÔØÈëÉñ¾­ÍøÂç֮ǰ£¬½Å±¾»¹»á½øÒ»²½¶ÔËü½øÐбØÒªµÄ±ßÔµ¼ì²â¡£½Å±¾»áÑ°ÕÒͼÐÎ×î×ó¡¢ÓÒ¡¢ÉÏ¡¢Ï·½µÄÏñËØ£¬²¢½«Æäת»¯ÎªÒ»¸ö¾ØÐΣ¬½Ó×ŰѾØÐÎÖØÐÂת»»ÎªÒ»¸ö20*25ÏñËصľØÕó¡£

      cropped_canvas.getContext("2d").fillRect(0, 0, 20, 25);
¡¡¡¡var edges = find_edges(image_data[i]);
¡¡¡¡cropped_canvas.getContext("2d").drawImage(canvas, edges[0], edges[1],
¡¡¡¡edges[2]-edges[0], edges[3]-edges[1], 0, 0,
¡¡¡¡edges[2]-edges[0], edges[3]-edges[1]);
¡¡¡¡image_data[i] = cropped_canvas.getContext("2d").getImageData(0, 0,
¡¡¡¡cropped_canvas.width, cropped_canvas.height);


¡¡¡¡¾­¹ýÉÏÃæµÄ´¦Àí£¬ÎÒÃǵõ½ÁËʲôÄØ? Ò»¸ö20*25µÄ¾ØÕó£¬ÆäÖаüº¬µ¥¸ö¾ØÐΣ¬ÆäÖÐÌîÓɺڰ×É«¡£ÕæÊÇÌ«ºÃÁË!

¡¡¡¡È»ºó£¬»á¶ÔÕâ¸ö¾ØÐÎ×ö½øÒ»²½µÄ¼ò»¯¡£ÎÒÃDzßÂÔÐԵشӾØÕóÖÐÌáȡһЩµã£¬×÷Ϊ¡°¹â¸ÐÊÜÆ÷¡±£¬ÕâЩ¹â¸ÐÊÜÆ÷½«ÊäË͵½Éñ¾­ÍøÂç¡£¾ÙÀý¶øÑÔ£¬Ä³¸ö¹â¸ÐÊÜÆ÷¾ßÌå¶ÔÓ¦µÄ¿ÉÄÜÊÇλÓÚ9*6λÖÃÏñËØ£¬ÓÐÏñËØ»òÕßûÓÐÏñËØ¡£½Å±¾»áÌáȡһϵÁÐÕâÑùµÄ״̬(Ô¶ÉÙÓÚ¶Ô 20*25¾ØÕóÕû¸ö¼ÆËãµÄ´ÎÊý¡ª¡ªÖ»ÌáÈ¡64ÖÖ״̬)£¬²¢½«ÕâЩ״̬ËÍÈëÉñ¾­ÍøÂç¡£

¡¡¡¡Äú¿ÉÄÜÒªÎÊ£¬ÎªÊ²Ã´²»Ö±½Ó¶ÔÏñËؽøÐбȽÏ?ÓбØҪʹÓÃÉñ¾­ÍøÂçÂð?ÎÊÌâµÄ¹Ø¼üÔÚÓÚ£¬ÎÒÃÇҪȥµôÄÇЩģÀâÁ½¿ÉµÄÇé¿ö¡£Èç¹ûÄúÊÔ¹ýÇ°ÃæµÄÑÝʾ¾Í»á·¢ÏÖ£¬Ö±½Ó½øÐÐÏñËرȽϱÈͨ¹ýÉñ¾­ÍøÂç±È½Ï£¬¸üÈÝÒ׳ö´í£¬¾¡¹Ü³ö´íµÄʱºò²»¶à¡£µ«ÎÒÃDZØÐë³ÐÈÏ£¬¶ÔÓڴ󲿷ÖÓû§À´Ëµ£¬Ö±½ÓµÄÏñËرȽÏÓ¦¸ÃÒѾ­¹»ÓÃÁË¡£

¡¡¡¡ÏÂÒ»²½¾ÍÊdz¢ÊÔ²Â×ÖĸÁË¡£Éñ¾­ÍøÂçÖе¼ÈëÁË64¸ö²¼¶ûÖµ(ÓÉÆäÖеÄÒ»¸ö×Ö·ûͼÏñ»ñÈ¡¶øÀ´)£¬Í¬Ê±°üº¬Ò»ÏµÁÐÔ¤ÏȼÆËãºÃµÄÊý¾Ý¡£Éñ¾­ÍøÂçµÄÀíÄîÖ®Ò»£¬¾ÍÊÇÎÒÃÇÏ£ÍûµÃµÄ½á¹ûÊÂÏȾÍÊÇÖªµÀµÄ£¬ËùÒÔÎÒÃÇ¿ÉÒÔÕë¶Ô½á¹û¶ÔÉñ¾­ÍøÂç½øÐÐÏà¹ØµÄѵÁ·¡£½Å±¾×÷Õß¿ÉÒÔ¶à´ÎÔËÐнű¾£¬²¢ÊÕ¼¯ÁËһϵÁÐ×î¼ÑÆÀ·Ö£¬ÕâЩÆÀ·ÖÄÜ°ïÖúµ¹ÍƳö²úÉúËüÃǵÄÄÇЩֵ£¬´Ó¶ø°ïÉñ¾­ÍøÂç²Â³ö´ð°¸£¬³ý´ËÖ®Í⣬ÕâЩÆÀ·ÖûÓÐÈκÎÌØÊâÒâÒå¡£

¡¡¡¡µ±Éñ¾­ÍøÂç¶ÔÑéÖ¤ÂëÖÐÒ»¸ö×Öĸ¶ÔÓ¦µÄ64¸ö²¼¶ûÖµ½øÐмÆËãÒԺ󣬺ÍÒ»¸öÔ¤ÏȼÆËãºÃµÄ×Öĸ±íÏà±È½Ï£¬È»ºóΪºÍÿ¸ö×ÖĸµÄÆ¥Å䶼¸ø³öÒ»¸ö·ÖÊý¡£(×îºóµÄ½á¹û¿ÉÄÜÀàËÆ£º98%µÄ¿ÉÄÜÊÇ×ÖĸA£¬36%µÄ¿ÉÄÜÊÇ×ÖĸBµÈ¡£)

¡¡¡¡µ±¶ÔÑéÖ¤ÂëÖеÄÈý¸ö×Öĸ¶¼¾­¹ý´¦ÀíÒÔºó£¬×îÖյĽá¹ûÒ²¾Í³öÀ´ÁË¡£ÐèҪעÒâµÄÊÇ£¬¸Ã½Å±¾ÎÞ·¨´ïµ½100%ÕýÈ·ÐÔ(²»ÖªµÀÈç¹ûÔÚ¿ªÊ¼µÄʱºò²»½«×Öĸת»»³É¾ØÐΣ¬ÊDz»ÊÇ¿ÉÒÔÌá¸ßÆÀ·ÖµÄ¾«¶È)£¬µ«ÕâÒѾ­Ï൱ºÃÁË£¬ÖÁÉÙ¶ÔÓÚµ±Ç°µÄÓÃ;À´ËµÊÇÕâÑù¡£¶øÇÒËùÓеIJÙ×÷¶¼ÊÇÔÚ»ùÓÚ±ê×¼µÄ¿Í»§¶Ë¼¼ÊõʵÏÖµÄä¯ÀÀÆ÷ÖÐÍê³ÉµÄ!

¡¡¡¡²¹³ä˵Ã÷һϣ¬Õâ¸ö½Å±¾Ó¦¸ÃËãÊÇÒ»¸öÌØÀý°É£¬ÕâÏî¼¼Êõ¿ÉÄÜ»áºÜºÃµÄ¹¤×÷ÔÚÔÚÆäËü¼òªµÄÑéÖ¤ÂëÉÏ£¬µ«¶ÔÓÚ¸´ÔÓµÄÑéÖ¤ÂëÀ´Ëµ£¬¾ÍÓеã±Þ³¤Äª¼°ÁË(ÓÈÆäÊÇÕâÖÖ»ùÓÚ¿Í»§¶ËµÄ·ÖÎö)¡£µ«Ô¸Óиü¶àÈËÄÜ´ÓÕâ¸öÏîÄ¿ÖÐÊܵ½Æô·¢¶ø¿ª·¢³ö¸üÆæÃîµÄ¶«Î÷À´£¬ÒòΪËüµÄDZÁ¦ÊµÔÚÊÇÌ«´óÁË

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎתÔصĸå¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬ÇëתÔØʱÎñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • ѧϰJavaScriptÖ®this,call,apply

    ѧϰJavaScript֮this,call,apply

    2016-01-28 20:45

  • Áã»ù´¡ÈëÃÅѧϰPython£¨10£©£ºº¯Êý - qq_33256568µÄ²©¿Í - ²©¿ÍƵµÀ - CSDN.NET qq_3

    Áã»ù´¡ÈëÃÅѧϰPython£¨10£©£ºº¯Êý - qq_33256568µÄ²©¿Í - ²©¿ÍƵµÀ

    2015-12-15 09:04

  • Swift 2.0ѧϰ±Ê¼Ç£¨Day48£©¡ª¡ªÀàÐͼì²éÓëת»» - ¹Ø¶«Éý - ²©¿ÍƵµÀ - CSDN.NET ¹Ø¶«Éý iO

    Swift 2.0ѧϰ±Ê¼Ç£¨Day48£©¡ª¡ªÀàÐͼì²éÓëת»» - ¹Ø¶«Éý - ²©¿ÍƵµÀ

    2015-12-14 18:16

  • ÓÐȤµÄRuby-ѧϰ±Ê¼Ç1 - ÎÒ¿ÉÒÔ½ÓÊÜʧ°Ü£¬µ«ÎÒ²»ÄܽÓÊÜ·ÅÆú¡£--Âõ¿Ë¶û Çǵ¤ - ²©¿ÍƵµÀ - CSDN.NET

    ÓÐȤµÄRuby-ѧϰ±Ê¼Ç1 - ÎÒ¿ÉÒÔ½ÓÊÜʧ°Ü£¬µ«ÎÒ²»ÄܽÓÊÜ·ÅÆú¡£--Âõ¿Ë

    2015-12-14 17:17

ÍøÓѵãÆÀ
×