Maison >développement back-end >Problème PHP >A quoi sert la fonction de dessin php

A quoi sert la fonction de dessin php

(*-*)浩
(*-*)浩original
2019-09-25 14:56:503258parcourir

En php, en utilisant la fonction de dessin php, l'image que nous dessinons peut apparaître lors de l'accès au fichier php ; la fonction de dessin php peut être appliquée à l'élaboration de rapports, à la conception de codes de vérification et aux filigranes et vignettes d'images.

A quoi sert la fonction de dessin php

Avant d'introduire la fonction de dessin php, nous devons d'abord comprendre le système de coordonnées de dessin en php :

système de coordonnées php, l'origine des coordonnées se trouve dans le coin supérieur gauche, en pixels. (Apprentissage recommandé : Programmation PHP du débutant à compétent)

Coordonnées (x, y) - la première est la coordonnée x, indiquant que la position actuelle est horizontale, à x distance du coordonnée pixel d'origine ; la seconde est la coordonnée y, indiquant que la position actuelle est verticale et à y pixels du point de coordonnées.

A quoi sert la fonction de dessin php

Remarque spéciale : le pixel n'est pas une unité de longueur, mais une unité de densité. Théoriquement, plus la résolution est petite, plus la longueur occupée par un pixel est grande.

Principes de base et étapes du dessin PHP

(1) Créez un canevas

(2) Dessinez les différents graphiques dont vous avez besoin (cercles, lignes droites lignes, rectangle, arc, secteur...)

(3) Sortez l'image sur la page Web ou enregistrez-la (elle peut être enregistrée sous plusieurs formats d'image courants dans le développement de sites Web, en fonction des problèmes de format de stockage )

(4) Détruire l'image (libérer la mémoire)

Voici le code pour dessiner le code de vérification :

<?php
    //echo rand(2,9);
    //echo "<br/>".dechex(rand(1,15))."<br/>";
    session_start();
    $checkCode="";
    for($i=0;$i<4;$i++) {
        $checkCode.=dechex(rand(1,15));
    }
    
    //讲随机验证码保存到session中
    $_SESSION[&#39;myCheckCode&#39;]=$checkCode;
    //创建图片,并把随机数画上去
    $img=imagecreatetruecolor(110, 30);
    //背景默认就是黑色
    //你可以指定背景颜色
    $bgcolor=imagecolorallocate($img, 0, 0, 0);
    imagefill($img, 0, 0, $bgcolor);
    //创建新的颜色
    $white=imagecolorallocate($img, 255, 255, 255);
    $blue=imagecolorallocate($img, 0, 0, 255);
    $red=imagecolorallocate($img, 255, 0, 0);
    $green=imagecolorallocate($img, 0, 255, 0);
    
    //画出干扰线段
    for($i=0;$i<20;$i++) {
        //更好的方法是颜色随机
        imageline($img, rand(0,110), rand(0,30), rand(0,110), rand(0,30), 
            imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255)));
    }
    
    //画出噪点,自己画
    //for($i=0;$i<10;$i++)
    //把四个随机值画上去
    
    imagestring($img, rand(1,5), rand(2,80), rand(2,10), $checkCode, $white);
    
    //如果要使用中文
    //array imagefttext(string $font_file, string $text [,array $extrainfo)
    //imagettftext($img,15,10,20,25,$white,"STXINWET.TTF","北京你好");
    //输出
    header("content-type: image/png");
    imagepng($img);
    
?>

est utilisé pour l'interface de connexion (seule une partie du code est fournie ici, mais cela n'affecte pas la compréhension, vous pouvez supprimer le contenu non pertinent et l'utiliser directement)

<form action="loginProcess.php" method="post">
<table>
<tr><td>用户id</td><td><input type="text" name="id" value="<?php echo getCookieVal("id"); ?>"/></td></tr>
<tr><td>密 码</td><td><input type="password" name="password"/></td></tr>
<tr><td>验证码</td><td><input type="text" name="checkCode"/>
<img  src="checkCode.php" onClick="this.src=&#39;checkCode.php?aa=&#39;+Math.random()"/ alt="A quoi sert la fonction de dessin php" ></td></tr>
<tr><td colspan="2">是否保存用户id<input type="checkbox" value="yes" name="keep"></td></tr>
<tr><td><input type="submit" value="用户登录"/></td>
<td><input type="reset" value="重新填写"/></td></tr>
</table>
</form>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn