Maison >développement back-end >tutoriel php >PHP utilise la bibliothèque GD pour implémenter la méthode d'ajout de texte aux images (code)

PHP utilise la bibliothèque GD pour implémenter la méthode d'ajout de texte aux images (code)

不言
不言original
2018-08-20 15:52:054313parcourir

Le contenu de cet article concerne la méthode (code) d'ajout de texte sur les images à l'aide de la bibliothèque PHP GD. Les amis dans le besoin peuvent s'y référer.

Nous pouvons utiliser l'extension de bibliothèque gd de PHP pour traiter nos images, par exemple générer des vignettes, recadrer des images et ajouter du texte aux images, comme indiqué dans ce chapitre.

1. Nous devons d'abord recevoir le texte dont nous avons besoin : $key = $_GET['key']; les opérations spécifiques telles que le traitement anti-SQL de la valeur reçue ne seront pas présentées ici.

2. Si vous utilisez directement la bibliothèque gd pour coller le texte, il ne répondra pas à nos exigences, car généralement il n'y a pas d'espacement des mots lors du collage direct, et nous verrons qu'il est très proche, ce qui nous affecte L'esthétique et les clients n'en ont pas besoin, nous devons donc diviser le contenu reçu. Ensuite, nous utiliserons des fonctions encapsulées régulières pour diviser la chaîne chinoise en tableaux.

/**
 * 将字符串分割为数组    
 * @param  string $str 字符串
 * @return array       分割得到的数组
 */
function mb_str_split($str){
    return preg_split(&#39;/(?<!^)(?!$)/u&#39;, $str );
}

3. La fonction ci-dessus divisera le texte en un tableau. Ensuite, nous utiliserons la bibliothèque gd pour ajouter le tableau de texte à l'image un par un. >De cette façon, vous pouvez ajouter le texte reçu à l'image et l'enregistrer en même temps

<?php
function index(){
     $img =$back = PATH_ROOT."1.jpg";//图片跟路径
     $str= $_GET(&#39;key&#39;);//接收值
     $text = $this->mb_str_split($str);//将值拆分为数组
     $size = 40;//字体大小
     $font = PATH_ROOT."/1.ttf";//加载字体ttf
     $img = imagecreatefromjpeg($img);// 加载已有图像
     $black = imagecolorallocate($img, 24, 165, 234);//设置颜色为蓝色
     $x =355;//首个字的横坐标
     $red = imagecolorallocate($img,255,255,255);//创建白色底色
     imagefilledrectangle($img,340,40,420,120,$red);//构建一个矩形
     foreach ($text as $k=>$v){
         imagettftext($img, $size, 0, $x, 100, $black, $font, $v);//循环添加文字
         $x = $x + 70;//增加横坐标来做到间距的效果
     }
     $time = rand(1,10000).time().".png";//定义图片名
     ImagePNG($img,PATH_ROOT."/".$time);//保存图片
}
function mb_str_split($str){
     return preg_split(&#39;/(?<!^)(?!$)/u&#39;, $str );
}
Si vous ajoutez un en-tête('Content-Type: image/png'); navigateur

Connexe recommandé :

Comment dessiner un cercle dans la bibliothèque php_php gd pour dessiner une image circulaire

méthode php pour utiliser le Bibliothèque GD pour transformer une image carrée en image circulaire (Code)

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