Maison  >  Article  >  développement back-end  >  Exemple détaillé de la façon de générer des images à l'aide des fonctions intégrées de PHP

Exemple détaillé de la façon de générer des images à l'aide des fonctions intégrées de PHP

怪我咯
怪我咯original
2017-06-28 10:36:432666parcourir

L'exemple de cet article décrit comment PHP utilise la fonction intégrée pour générer une image. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Étape 1 : Créer une image

Créez un nouveau fichier php et nommez-le new-image.php (vous pouvez le nommer arbitrairement pour faciliter les appels ultérieurs) Très bien).

Il existe deux fonctions en php pour créer une image : imageCreate() crée une image vide ; ImageCreateFromPng() crée une image en utilisant une image png existante comme arrière-plan. ("Png" ici peut être remplacé par "jpg" ou "gif", selon le format de l'image d'arrière-plan)

$myImage=ImageCreate(400,60); //参数为宽度和高度
$myImage=ImageCreateFromJpg("http://farm5.static.flickr.com/418978874_c349c14359_o.jpg");

Peu importe la méthode ci-dessus que vous utilisez, nous l'avons créée A image et enregistrez l'image dans la variable $myImage .

Étape 2 : Ajouter des couleurs

À ce stade, nous devons créer des couleurs via la fonction ImageColorAllocate() et les enregistrer dans des variables pour une utilisation ultérieure.

$white=ImageColorAllocate($myImage, 255, 255, 255);
$black=ImageColorAllocate($myImage, 0, 0, 0);
$red=ImageColorAllocate($myImage, 255, 0, 0);
$green=ImageColorAllocate($myImage, 0, 255, 0);
$blue=ImageColorAllocate($myImage, 0, 0, 255);

Étape 3 : Dessiner des graphiques

Vous pouvez également utiliser certaines fonctions intégrées de PHP pour ajouter des formes géométriques :

ImageEllipse() //绘制椭圆
ImageArc() //绘制曲线
ImagePolygon() //绘制多边形
ImageRectangle() //绘制矩形
ImageLine() //绘制线条

Voici un exemple

ImageRectangle($myImage, 50, 20, 200, 15, $blue);

À ce stade, vous constaterez que seul le contour du rectangle est dessiné. Si vous souhaitez un rectangle rempli, utilisez la méthode ImageFilledRectangle() :

ImageFilledRectangle($myImage, 50, 20, 200, 15, $blue);

Étape. 4 : Ajouter du texte

On peut utiliser la fonction imagettftext() pour ajouter du texte à l'image :

imagettftext($myImage, 12, 0, 5, 20, $black, "Fonts/Oblivious font.ttf",  "这是要显示的内容");

Vous avez dû remarquer qu'ici vous devez sélectionner une police (Polices/Oblivious est utilisé ici) font.ttf, vous pouvez utiliser votre propre police préférée). Si vous ne savez pas comment obtenir des polices, vous pouvez rechercher des polices sur Google. Il existe de nombreux sites Web permettant de télécharger des polices, et le contenu qu'elles contiennent est suffisant pour vous éblouir.

Étape 5 : Générer l'image

Lorsque vous avez réussi à dessiner l'image que vous souhaitez afficher, vous devez l'afficher sur la page. La première chose à faire est d'indiquer à la page que les données que vous souhaitez lui envoyer sont une image :

//这里的png可以换成jpg,或者是gif,根据你要生成的图片格式来确定
header("Content-type:image/png");
ImagePng($myImage);

Ensuite, comme on n'a plus besoin de la variable $myImage, il faut libérer sa mémoire Drop :

ImageDestroy($myImage);

Étape 6 : Appeler l'image

À travers les cinq étapes précédentes, nous avons créé une image. Laissez-moi vous expliquer comment appeler cette image créée.

Dans le fichier HTML, nous utilisons l'url pour introduire cette image :

<img src="new-image.php的路径" alt="myImage" />
//在src中,写入new-image.php文件的路径,你就会发现刚才创建的图片已经被成功的调用了

Utilisez imagepng() pour générer un fichier image

<?php imagepng($myImage,"xxx.jpg"); ?>
<?php
$myImage=ImageCreate(400,60); //参数为宽度和高度
$white=ImageColorAllocate($myImage, 255, 255, 255);
$black=ImageColorAllocate($myImage, 0, 0, 0);
$red=ImageColorAllocate($myImage, 255, 0, 0);
$green=ImageColorAllocate($myImage, 0, 255, 0);
$blue=ImageColorAllocate($myImage, 0, 0, 255);
imagettftext($myImage, 12, 0, 5, 20, $red, "stxingka.ttf", "果冻 Elvis");
?>
<?php imagepng($myImage,"xxx.jpg"); ?>

Le code ci-dessus générera un fichier image xxx.jpg dans le répertoire racine.

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