Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > [Galerie] Réalisation de CAPTCHAs > Lecture du sujet

[Galerie] Réalisation de CAPTCHAs

On veut les votres

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  5  6  7  8  9  10  11  ...  37  38  39  40  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  5  6  7  8  9  10  11  ...  37  38  39  40  Suivante
Hors ligne simmstein # Posté le 07/10/2007 à 22:23:01
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Le miens : Image utilisateur

VENEZ NOMBREUX =)
 
Hors ligne Zopieux # Posté le 08/10/2007 à 18:04:15
it… it can't be true!
Avatar
Validateurs
Jeremie78, j'ai vu ce captcha sur le Net. Alors si tu avais les sources, mon hypothèse que ce script n'est pas de toi se dissiperait vite. :)

A+
 
Hors ligne harcher81 # Posté le 11/10/2007 à 00:37:57
Et oui, c'est moi
Avatar
Groupe : Membres
Des captchas animé fallais y penser quand même, bonne idée, les bots ne seront pas quoi en faire.

J'ai vu un captcha très intéressant, c'étais un captcha textuel, mais pourtant il doit quand même bien marché. Voilà il y avait une question où chaccune de c'est lettre colorié en différente couleur. La question se reportait toujours sur c'est coleur.
Un exemple vaut mille mot:
Quel est la quatrième lettre en rouge dans cette phrase ?

Bien attendu la couleur des lettres change à chaque foie, ansi que quel couleur à quel emplacement l'on doit marqué.

Pensez-vous qu,une telle methode est utile contre les bots?

Image utilisateur
Image utilisateur
 
Hors ligne ilys # Posté le 11/10/2007 à 00:45:27
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
Doit on ressortir les archives du post.
Ta question se trouve dans les post précedents.
Il a été dit qu'aucun captcha n'était infaillible. Ce n'est que question de temp pour le casser.
Mais comme il a été dit, ce post n'est là que pour présenter vos création de captcha aléatoire.

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 
Hors ligne rom1504 # Posté le 11/10/2007 à 20:30:12
Groupe : Membres
Citation : harcher81
Des captchas animé fallais y penser quand même, bonne idée, les bots ne seront pas quoi en faire.

J'ai vu un captcha très intéressant, c'étais un captcha textuel, mais pourtant il doit quand même bien marché. Voilà il y avait une question où chaccune de c'est lettre colorié en différente couleur. La question se reportait toujours sur c'est coleur.
Un exemple vaut mille mot:
Quel est la quatrième lettre en rouge dans cette phrase ?

Bien attendu la couleur des lettres change à chaque foie, ansi que quel couleur à quel emplacement l'on doit marqué.

Pensez-vous qu,une telle methode est utile contre les bots?
ça marchera tant qu'un créateur de bot n'adaptera pas son bot pour ce captcha en particulier ( ce qui n'est pas très difficile vu qu'il suffit de parser les couleurs et de voir si on met rouge le quatrième tout ça et de prendre la lettre qu'il faut )

Mon portfolio - client_irc : mon client irc - Présentation sur le sdz de ce client irc - vraiCalculatrice : une calculatrice qui permet d'effectuer vos calculs en une seule fois
 
Connecté Jeremie64 # Posté le 11/10/2007 à 21:22:10
Get over it !
Avatar
Groupe : Membres
+1.

De plus c'Est facilement illisible pour ceux qui ne voit pas les couleurs ;)

Bye


Coding is more than a job, more than hobby, more than activity, it's a lifestyle !

PHP is a powerful programming language, if you know how to use it...



 
Hors ligne Attonde # Posté le 12/10/2007 à 14:23:32
T'en fais pas, elle est moche.
Avatar
Groupe : Membres
Citation : Zopieux
Jeremie78, j'ai vu ce captcha sur le Net. Alors si tu avais les sources, mon hypothèse que ce script n'est pas de toi se dissiperait vite. :)

A+

http://www.web-modules.net/externe/antibot.php
:-° c'est son site je crois... ^^ (bon l'histoire de l'id je comprend pas, je supose que c'est ça qui fait varier le nombre...)
Édité le 12/10/2007 à 14:23:46 par Attonde

YourBloug [|||||50%|||||]
Help me !

Développeur/Rédacteur Shine-shiina.
Le développement du Mali ? Cf ma biographie ;) .
Beau goss cherche belle geekette, MP le !
Envie de dev aWLM... lol
 
Hors ligne JaKhris # Posté le 15/10/2007 à 12:20:52
Wait & See
Avatar
Groupe : Membres
Citation : Jeremie78
Moi j'en ai un que génère carrément du gif animé, du coup il faut à un casseur de captcha qui dé-assemble les images, les traitent une par une, et synthétise les caractères trouvés : pas mal de boulot en gros :p
Alors qu'a l'oeil nu on voit très bien ce qui est inscrit :)

Image utilisateur


De loin le meilleur que j'ai vu jusqu'à maintenant o_O ;)

PS : Zopieux, Jerem78 est l'un des seuls codeurs PHP que je "connaisse" qui sache faire des gifs en GD donc bon je pense bien qu'il soit l'auteur du captcha ^^

EDIT : Ah, mais tu veux son code pour t'en servir en fait :p *a comprit* mais Jerem, prouves-nous que t'es l'auteur en montrant le code source :p
Édité le 15/10/2007 à 12:23:12 par JaKhris

Mes sites : JAKPRO ~ URPRO ~ page Flickr
XHTML, CSS, JS, PHP, MySQL, Graphics, Music & Video Games : This is living ! =D
 
Hors ligne Blackhole # Posté le 15/10/2007 à 18:12:17
Bear, and forbear
Avatar
Groupe : Membres
Tu en connaitra un de plus maintenant ;) !

Secret (cliquez pour afficher)
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. Class GIFEncoder
  3. {
  4.         var $GIF = 'GIF89a';        /* GIF header 6 bytes       */
  5.         var $VER = 'GIFEncoder V2.05';  /* Encoder version                */
  6.  
  7.         var $BUF = Array ( );
  8.         var $LOP =  0;
  9.         var $DIS =  2;
  10.         var $COL = -1;
  11.         var $IMG = -1;
  12.  
  13.         var $ERR = Array (
  14.                 'ERR00'=>'Does not supported function for only one image!',
  15.                 'ERR01'=>'Source is not a GIF image!',
  16.                 'ERR02'=>'Unintelligible flag ',
  17.                 'ERR03'=>'Could not make animation from animated GIF source',
  18.         );
  19.  
  20.         /*
  21.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  22.         ::
  23.         ::      GIFEncoder...
  24.         ::
  25.         */
  26.         function GIFEncoder     (
  27.                                                         $GIF_src, $GIF_dly, $GIF_lop, $GIF_dis,
  28.                                                         $GIF_red, $GIF_grn, $GIF_blu, $GIF_mod
  29.                                                 ) {
  30.                 if ( ! is_array ( $GIF_src ) && ! is_array ( $GIF_tim ) ) {
  31.                         printf  ( "%s: %s", $this->VER, $this->ERR [ 'ERR00' ] );
  32.                         exit    ( 0 );
  33.                 }
  34.                 $this->LOP = ( $GIF_lop > -1 ) ? $GIF_lop : 0;
  35.                 $this->DIS = ( $GIF_dis > -1 ) ? ( ( $GIF_dis < 3 ) ? $GIF_dis : 3 ) : 2;
  36.                 $this->COL = ( $GIF_red > -1 && $GIF_grn > -1 && $GIF_blu > -1 ) ?
  37.                                                 ( $GIF_red | ( $GIF_grn << 8 ) | ( $GIF_blu << 16 ) ) : -1;
  38.  
  39.                 for ( $i = 0; $i < count ( $GIF_src ); $i++ ) {
  40.                         if ( strToLower ( $GIF_mod ) == 'url' ) {
  41.                                 $this->BUF [ ] = fread ( fopen ( $GIF_src [ $i ], 'rb' ), filesize ( $GIF_src [ $i ] ) );
  42.                         }
  43.                         else if ( strToLower ( $GIF_mod ) == 'bin' ) {
  44.                                 $this->BUF [ ] = $GIF_src [ $i ];
  45.                         }
  46.                         else {
  47.                                 printf  ( "%s: %s ( %s )!", $this->VER, $this->ERR [ 'ERR02' ], $GIF_mod );
  48.                                 exit    ( 0 );
  49.                         }
  50.                         if ( substr ( $this->BUF [ $i ], 0, 6 ) != 'GIF87a' && substr ( $this->BUF [ $i ], 0, 6 ) != 'GIF89a' ) {
  51.                                 printf  ( "%s: %d %s", $this->VER, $i, $this->ERR [ 'ERR01' ] );
  52.                                 exit    ( 0 );
  53.                         }
  54.                         for ( $j = ( 13 + 3 * ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) ) ), $k = TRUE; $k; $j++ ) {
  55.                                 switch ( $this->BUF [ $i ] { $j } ) {
  56.                                         case '!':
  57.                                                 if ( ( substr ( $this->BUF [ $i ], ( $j + 3 ), 8 ) ) == 'NETSCAPE' ) {
  58.                                                         printf  ( "%s: %s ( %s source )!", $this->VER, $this->ERR [ 'ERR03' ], ( $i + 1 ) );
  59.                                                         exit    ( 0 );
  60.                                                 }
  61.                                                 break;
  62.                                         case ';':
  63.                                                 $k = FALSE;
  64.                                                 break;
  65.                                 }
  66.                         }
  67.                 }
  68.                 GIFEncoder::GIFAddHeader ( );
  69.                 for ( $i = 0; $i < count ( $this->BUF ); $i++ ) {
  70.                         GIFEncoder::GIFAddFrames ( $i, $GIF_dly [ $i ] );
  71.                 }
  72.                 GIFEncoder::GIFAddFooter ( );
  73.         }
  74.         /*
  75.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  76.         ::
  77.         ::      GIFAddHeader...
  78.         ::
  79.         */
  80.         function GIFAddHeader ( ) {
  81.                 $cmap = 0;
  82.  
  83.                 if ( ord ( $this->BUF [ 0 ] { 10 } ) & 0x80 ) {
  84.                         $cmap = 3 * ( 2 << ( ord ( $this->BUF [ 0 ] { 10 } ) & 0x07 ) );
  85.  
  86.                         $this->GIF .= substr ( $this->BUF [ 0 ], 6, 7      );
  87.                         $this->GIF .= substr ( $this->BUF [ 0 ], 13, $cmap      );
  88.                         $this->GIF .= "!\377\13NETSCAPE2.0\3\1" . GIFEncoder::GIFWord ( $this->LOP ) . "\0";
  89.                 }
  90.         }
  91.         /*
  92.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  93.         ::
  94.         ::      GIFAddFrames...
  95.         ::
  96.         */
  97.         function GIFAddFrames ( $i, $d ) {
  98.  
  99.                 $Locals_str = 13 + 3 * ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) );
  100.  
  101.                 $Locals_end = strlen ( $this->BUF [ $i ] ) - $Locals_str - 1;
  102.                 $Locals_tmp = substr ( $this->BUF [ $i ], $Locals_str, $Locals_end );
  103.  
  104.                 $Global_len = 2 << ( ord ( $this->BUF [ 0  ] { 10 } ) & 0x07 );
  105.                 $Locals_len = 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 );
  106.  
  107.                 $Global_rgb = substr ( $this->BUF [ 0  ], 13,
  108.                                                         3 * ( 2 << ( ord ( $this->BUF [ 0  ] { 10 } ) & 0x07 ) ) );
  109.                 $Locals_rgb = substr ( $this->BUF [ $i ], 13,
  110.                                                         3 * ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) ) );
  111.  
  112.                 $Locals_ext = "!\xF9\x04" . chr ( ( $this->DIS << 2 ) + 0 ) .
  113.                                                 chr ( ( $d >> 0 ) & 0xFF ) . chr ( ( $d >> 8 ) & 0xFF ) . "\x0\x0";
  114.  
  115.                 if ( $this->COL > -1 && ord ( $this->BUF [ $i ] { 10 } ) & 0x80 ) {
  116.                         for ( $j = 0; $j < ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) ); $j++ ) {
  117.                                 if      (
  118.                                                 ord ( $Locals_rgb { 3 * $j + 0 } ) == ( $this->COL >> 16 ) & 0xFF &&
  119.                                                 ord ( $Locals_rgb { 3 * $j + 1 } ) == ( $this->COL >>  8 ) & 0xFF &&
  120.                                                 ord ( $Locals_rgb { 3 * $j + 2 } ) == ( $this->COL >>  0 ) & 0xFF
  121.                                         ) {
  122.                                         $Locals_ext = "!\xF9\x04" . chr ( ( $this->DIS << 2 ) + 1 ) .
  123.                                                                         chr ( ( $d >> 0 ) & 0xFF ) . chr ( ( $d >> 8 ) & 0xFF ) . chr ( $j ) . "\x0";
  124.                                         break;
  125.                                 }
  126.                         }
  127.                 }
  128.                 switch ( $Locals_tmp { 0 } ) {
  129.                         case '!':
  130.                                 $Locals_img = substr ( $Locals_tmp, 8, 10 );
  131.                                 $Locals_tmp = substr ( $Locals_tmp, 18, strlen ( $Locals_tmp ) - 18 );
  132.                                 break;
  133.                         case ',':
  134.                                 $Locals_img = substr ( $Locals_tmp, 0, 10 );
  135.                                 $Locals_tmp = substr ( $Locals_tmp, 10, strlen ( $Locals_tmp ) - 10 );
  136.                                 break;
  137.                 }
  138.                 if ( ord ( $this->BUF [ $i ] { 10 } ) & 0x80 && $this->IMG > -1 ) {
  139.                         if ( $Global_len == $Locals_len ) {
  140.                                 if ( GIFEncoder::GIFBlockCompare ( $Global_rgb, $Locals_rgb, $Global_len ) ) {
  141.                                         $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_tmp );
  142.                                 }
  143.                                 else {
  144.                                         $byte  = ord ( $Locals_img { 9 } );
  145.                                         $byte |= 0x80;
  146.                                         $byte &= 0xF8;
  147.                                         $byte |= ( ord ( $this->BUF [ 0 ] { 10 } ) & 0x07 );
  148.                                         $Locals_img { 9 } = chr ( $byte );
  149.                                         $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_rgb . $Locals_tmp );
  150.                                 }
  151.                         }
  152.                         else {
  153.                                 $byte  = ord ( $Locals_img { 9 } );
  154.                                 $byte |= 0x80;
  155.                                 $byte &= 0xF8;
  156.                                 $byte |= ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 );
  157.                                 $Locals_img { 9 } = chr ( $byte );
  158.                                 $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_rgb . $Locals_tmp );
  159.                         }
  160.                 }
  161.                 else {
  162.                         $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_tmp );
  163.                 }
  164.                 $this->IMG  = 1;
  165.         }
  166.         /*
  167.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  168.         ::
  169.         ::      GIFAddFooter...
  170.         ::
  171.         */
  172.         function GIFAddFooter ( ) {
  173.                 $this->GIF .= ';';
  174.         }
  175.         /*
  176.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  177.         ::
  178.         ::      GIFBlockCompare...
  179.         ::
  180.         */
  181.         function GIFBlockCompare ( $GlobalBlock, $LocalBlock, $Len ) {
  182.  
  183.                 for ( $i = 0; $i < $Len; $i++ ) {
  184.                         if      (
  185.                                         $GlobalBlock { 3 * $i + 0 } != $LocalBlock { 3 * $i + 0 } ||
  186.                                         $GlobalBlock { 3 * $i + 1 } != $LocalBlock { 3 * $i + 1 } ||
  187.                                         $GlobalBlock { 3 * $i + 2 } != $LocalBlock { 3 * $i + 2 }
  188.                                 ) {
  189.                                         return ( 0 );
  190.                         }
  191.                 }
  192.  
  193.                 return ( 1 );
  194.         }
  195.         /*
  196.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  197.         ::
  198.         ::      GIFWord...
  199.         ::
  200.         */
  201.         function GIFWord ( $int ) {
  202.  
  203.                 return ( chr ( $int & 0xFF ) . chr ( ( $int >> 8 ) & 0xFF ) );
  204.         }
  205.         /*
  206.         :::::::::::::::::::::::::::::::::::::::::::::::::::
  207.         ::
  208.         ::      GetAnimation...
  209.         ::
  210.         */
  211.         function GetAnimation ( ) {
  212.                 return ( $this->GIF );
  213.         }
  214. }
  215. /* Pour utiiser la class :
  216. Créer son gif, le mettre dans le buffer ( ob_start(), puis imagegif )
  217. Récupérer l'image du buffer dans un tableau, y rajouter le temps d'affichage de chaque image
  218.  
  219. ob_start();
  220.  imagegif($im);
  221.  $imgs[] = ob_get_clean();
  222.  $t[] = 10;
  223.  
  224. $gif = new GIFEncoder (
  225.   $imgs, // Le tableau d'image
  226.   $t, // Le tableau de delay
  227.   0, // Le nombre de boucle réalisé par le gif : 0 = boucle éternel
  228.   2, // ???
  229.   0, 0, 0, // Couleur, mais de quoi ???
  230.   'bin' // Laissez à bin
  231. );
  232.  
  233. echo $gif->GetAnimation(); // Envoyer le header
  234. */
  235. ?>

- Le moteur de templates le plus rapide, le plus pratique et le plus effiace ? Par ici !
- N'oubliez pas le de marquer votre message comme résolu !
- Pour trouver une aiguille dans une botte de foin, on met le feu à la botte et on passe un aimant dans les cendres.
 
Hors ligne Talus # Posté le 15/10/2007 à 18:34:55
タルス
Avatar
Groupe : Membres
Il est de qui ? J'ai déjà vu trainer ce script quelque part... :p
 
Hors ligne Blackhole # Posté le 15/10/2007 à 21:06:50
Bear, and forbear
Avatar
Groupe : Membres
^^ http://www.siteduzero.com/recherche-350.html?src=GIFEncoder&c=123&t=r&m=an

- Le moteur de templates le plus rapide, le plus pratique et le plus effiace ? Par ici !
- N'oubliez pas le de marquer votre message comme résolu !
- Pour trouver une aiguille dans une botte de foin, on met le feu à la botte et on passe un aimant dans les cendres.
 
Hors ligne Talus # Posté le 15/10/2007 à 21:32:19
タルス
Avatar
Groupe : Membres
Oui, bien ce qu'il me semblait. Ce n'est pas celle de Jeremie78 alors =D
 
Connecté Jeremie78 # Posté le 16/10/2007 à 19:36:01
Powered by GNU/Linux
Groupe : Membres
Oui en effet, les librairies graphiques pour faire du gif animé ne sont pas de moi :p

EN plus de la classe données précédemment, qui permet d'animer une image, voici la classse qui permet de générer un effet de lumière sur le texte :
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. /*
  3. :::::::::::::::::::::::::::::::::::::::::::::::::
  4. ::                                             ::
  5. ::         CAPTCHA Validation projects         ::
  6. ::                                             ::
  7. ::             2006 10. 01. 09.56.             ::
  8. ::                                             ::
  9. ::                                             ::
  10. :: Try on-line animated CAPTCHA form generator ::
  11. ::                                             ::
  12. ::                                             ::
  13. :::::::::::::::::::::::::::::::::::::::::::::::::
  14. */
  15.  
  16. define ( 'VERSION', '2.00' );
  17. define ( 'ANIM_FRAMES', 25 ); //35
  18. define ( 'ANIM_DELAYS', 10 ); //10
  19.  
  20. Class Captcha {
  21.         /*
  22.         :::::::::::::::::::::::::::::::::::::::::::::
  23.         ::                                         ::
  24.         ::           V A R I A B L E S             ::
  25.         ::                                         ::
  26.         :::::::::::::::::::::::::::::::::::::::::::::
  27.         */
  28.         var $var01 = 64;
  29.         var $var02 = 90;
  30.         var $var03 = 0x66; // Red
  31.  
  32.         var $var04 = 0x66; // Green
  33.  
  34.         var $var05 = 0x00; // Blue
  35.  
  36.         var $var06 = 130;
  37.         var $var07 = true;
  38.         var $var08 = array ( );
  39.         var $var09 = array ( );
  40.         var $var10 = array ( );
  41.         var $var11 = array ( );
  42.         var $var12 = array ( );
  43.         var $var13;
  44.         var $var14;
  45.         var $var15;
  46.         var $var16;
  47.         var $var17;
  48.         var $var18;
  49.         /*
  50.         :::::::::::::::::::::::::::::::::::::::::::::
  51.         ::                                         ::
  52.         ::M A I N  C L A S S  C O N S T R U C T O R::
  53.         ::                                         ::
  54.         :::::::::::::::::::::::::::::::::::::::::::::
  55.         */
  56.         function Captcha ( $text, $font, $color ) {
  57.  
  58.                 $var0 = $font;
  59.                 $var4 = HexDec ( $color );
  60.                 $this->var03 = floor ( $var4 / pow ( 256, 2 ) );
  61.                 $this->var04 = floor ( ( $var4 % pow ( 256, 2 ) ) / pow ( 256, 1 ) );
  62.                 $this->var05 = floor ( ( ( $var4 % pow ( 256, 2 ) ) % pow ( 256, 1 ) ) / pow ( 256, 0 ) );
  63.                 $var1 = array ( );
  64.                 $var1 = imageTTFBbox ( 22, 0, $var0, $text );
  65.                 $this->var13 = imageCreateTrueColor ( $var1 [ 4 ] + 15, abs( $var1 [ 5 ] ) + 15 );
  66.                 $var2 = ImageColorAllocate( $this->var13,    0,    0,    0 );
  67.                 $var3 = ImageColorAllocate( $this->var13,  192,  192,  192 );
  68.                 imageFill( $this->var13, 0, 0, $var2 );
  69.                 imagettftext( $this->var13, 22, 0, 7, abs( $var1 [ 5 ] ) + 6, $var3, $var0, $text);
  70.                 $this->var14 = imageSX ( $this->var13 );
  71.                 $this->var15 = imageSY ( $this->var13 );
  72.                 for ( $y = 0; $y < $this->var15; $y++ ) {
  73.                         for ( $x = 0; $x < $this->var14; $x++ ) {
  74.                                 $p = imageColorsForIndex ( $this->var13, imageColorAt ( $this->var13, $x, $y ) );
  75.                                 $this->var17 [ $x ] [ $y ] = $p [ 'red' ] + $p [ 'green' ] + $p [ 'blue' ];
  76.                         }
  77.                 }
  78.                 imageDestroy ( $this->var13 );
  79.                 $this->var13 = imageCreateTrueColor ( $this->var14, $this->var15 );
  80.                 Captcha::funcs01 ( );
  81.                 Captcha::funcs02 ( );
  82.                 Captcha::funcs03 ( );
  83.         }
  84.         /*
  85.         :::::::::::::::::::::::::::::::::::::::::::::
  86.         ::                                         ::
  87.         ::           F U N C T I O N  0 1          ::
  88.         ::                                         ::
  89.         :::::::::::::::::::::::::::::::::::::::::::::
  90.         */
  91.         function funcs01 ( ) {
  92.         for ( $x = 0; $x < $this->var14; $x++ ) {
  93.                 for ( $y = 0; $y < $this->var15; $y++ ) {
  94.                                 $var0 = 0;
  95.                                 $var0 += $this->var17 [ $x ] [ $y ];
  96.                                 $var0 += $this->var17 [ ( $x + 1 ) % $this->var14 ] [ $y ];
  97.                                 $var0 += $this->var17 [ ( $x + $this->var14 - 1) % $this->var14 ] [ $y ];
  98.                                 $var0 += $this->var17 [ $x ] [ ( $y + 1 ) % $this->var15 ];
  99.                                 $var0 += $this->var17 [ $x ] [ ( $y + $this->var15 - 1 ) % $this->var15 ];
  100.                                 $var0 += $this->var17 [ ( $x + 1 ) % $this->var14 ] [ ( $y + 1 ) % $this->var15 ];
  101.                                 $var0 += $this->var17 [ ( $x + $this->var14 - 1) % $this->var14 ] [ ( $y + $this->var15 - 1 ) % $this->var15 ];
  102.                                 $var0 += $this->var17 [ ( $x + $this->var14 - 1) % $this->var14 ] [ ( $y + 1 ) % $this->var15 ];
  103.                                 $var0 += $this->var17 [ ( $x + 1 ) % $this->var14 ] [ ( $y + $this->var15 - 1) % $this->var15 ];
  104.                                 $var0 /= 9;
  105.                                 $var1 [ $x ] [ $y ] = ( ( ( float ) ( $var0 / 3 ) ) * ( ( float ) ( $this->var01 / 255 ) ) );
  106.                         }
  107.                 }
  108.  
  109.         for ( $x = 1; $x < $this->var14 - 1; $x++ ) {
  110.                 for ( $y = 1; $y < $this->var15 - 1; $y++ ) {
  111.                                 $this->var11 [ $x ] [ $y ] = ( $var1 [ $x + 1 ] [ $y ] - $var1 [ $x - 1 ] [ $y ] );
  112.                                 $this->var12 [ $x ] [ $y ] = ( $var1 [ $x ] [ $y + 1 ] - $var1 [ $x ] [ $y - 1 ] );
  113.                         }
  114.                 }
  115.         }
  116.         /*
  117.         :::::::::::::::::::::::::::::::::::::::::::::
  118.         ::                                         ::
  119.         ::           F U N C T I O N  0 2          ::
  120.         ::                                         ::
  121.         :::::::::::::::::::::::::::::::::::::::::::::
  122.         */
  123.         function funcs02 ( ) {
  124.                 for ( $i = 0; $i < ( 255 - $this->var02 ); $i++) {
  125.                         $r = ( int ) ( $this->var03 * $i / (255 - $this->var02 ) );
  126.                         $g = ( int ) ( $this->var04 * $i / (255 - $this->var02 ) );
  127.                         $b = ( int ) ( $this->var05 * $i / (255 - $this->var02 ) );
  128.                         $this->var09 [ $i ] = array ( $r, $g, $b );
  129.                 }
  130.                 for ( $i = ( 255 - $this->var02 );  $i < 256; $i++ ) {
  131.                         $r = ( int ) ( $this->var03 + ( 255 - $this->var03 ) * ( $i + $this->var02 - 255 ) / $this->var02 );
  132.                         $g = ( int ) ( $this->var04 + ( 255 - $this->var04 ) * ( $i + $this->var02 - 255 ) / $this->var02 );
  133.                         $b = ( int ) ( $this->var05 + ( 255 - $this->var05 ) * ( $i + $this->var02 - 255 ) / $this->var02 );
  134.                         $this->var09 [ $i ] = array