Maison  >  Article  >  développement back-end  >  Exemple de partage de la taille de l'image de traitement PHP

Exemple de partage de la taille de l'image de traitement PHP

*文
*文original
2017-12-23 14:30:121449parcourir

Souvent, les images téléchargées par les utilisateurs sont très volumineuses, et renvoyer directement l'image originale occupera beaucoup de bande passante du serveur. À ce stade, nous devons traiter la taille de l’image, alors comment PHP gère-t-il la taille de l’image ? Cet article partagera un exemple d'utilisation de la bibliothèque GD pour traiter la taille de l'image.

1. Utilisez la méthode php pour modifier et enregistrer la taille de l'image

-------------------------- - ---------

Travail de préparation : 1. Besoin du lien vers l'image originale 2. Support de la bibliothèque GD

------------ --------------- ---------------------

Supposons que le lien de l'image d'origine : $url ;

Opération de la méthode :

Première étape : $arrimg = getimagesize($url);

++++++++++++++++++ +++++++++++++++ ++++++++++++++++++++++++++++

$arrimg : La forme de ceci est :

Array
(
    [0] => 350
    [1] => 318
    [2] => 2
    [3] => width="350" height="318"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)

Explication : Les nombres dans $arrimg[2] représentent l'index numérique des différents types d'images. Vue :

Description du résultat de retour

L'index 0 donne la valeur en pixels de la largeur de l'image

L'index 1 donne la valeur en pixels de la hauteur de l'image

L'index 2 donne le type d'image et renvoie un nombre, où 1 = GIF , 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (ordre des octets Intel), 8 = TIFF (ordre des octets Motorola)

, 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM

L'index 3 donne une chaîne de largeur et de hauteur, qui peut être directement utilisée pour le < du HTML ;image>

Les bits d'index donnent le nombre de bits pour chaque couleur de l'image. Le format binaire

Les canaux d'index donnent la valeur du canal de l'image. 🎜>

index mime. Ce sont les informations MIME de l'image. Ces informations peuvent être utilisées pour envoyer les informations correctes dans les informations d'en-tête de type de contenu HTTP, telles que :

header("Content-). tapez : image/jpeg");

++++++++++++++++++++++++++++++++++++ ++++++++++++ +++++++

Étape 2 : Effectuer un traitement proportionnel en fonction de la largeur : $arrimg[0], de la longueur : $arrimg [1] et obtenez la taille d'image souhaitée en fonction de la proportion

Définissez temporairement la taille de l'image que vous souhaitez obtenir ici : $newheight $newwidth

++++++++++++ ++++++++++ ++++++++++++++++++++++++++++++++++

Étape 3 : $thumb = imagecreatetruecolor($ newwidth,$newheight);

Description : imagecreatetruecolor() renvoie un identifiant d'image, représentant une image noire de taille $newwidth et $newheight

++++ +++ ++++++++++++++++++++++++++++++++++++++++++++++++

Étape 4 : $source = imagecreatefromjpeg($url);

Description : imagecreatefromjpeg() renvoie un identifiant d'image, représentant l'image obtenue à partir du nom de fichier donné


++++++++++++++++++++++++++++++++++++++++ +++ ++++++++++++

Étape 5 : ImageCopyResampled($thumb,$source,0,0,0,0,$newwidth,$newheight,$arrimg[ 0],$ arrimg[1]);

imagecopyresampled -- Rééchantillonne et redimensionne une partie de l'image.

++++++++++++++

Étape 6 :

Déterminez le type et stockez-le

switch($arrimg[2]){
//支持jpg
case  2:
imagejpeg($thumb,&#39;test.jpg&#39;);
break;
//支持png
case 3:
imagejpeg($thumb,&#39;test.jpg&#39;);
break;
default:
echo "<script>alert(&#39;带开发其他类型&#39;);</script>";
break;
}
Recommandations associées :

HP parvient à obtenir une méthode efficace pour obtenir la taille et la taille des images à distance

Traitement d'image PHP, opérations d'arrière-plan et de canevas d'image

Un résumé de plusieurs fonctions de la bibliothèque php GD pour générer des images

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