Maison > développement back-end > tutoriel php > PHP implémente une fonction pour générer des vignettes d'images

PHP implémente une fonction pour générer des vignettes d'images

小云云
Libérer: 2023-03-20 07:34:01
original
3737 Les gens l'ont consulté

Cet article vous présente principalement la fonction de génération de vignettes d'images implémentée par PHP basée sur la bibliothèque GD, qui implique les compétences opérationnelles de PHP liées aux attributs d'image. Les amis dans le besoin pourront s'y référer. J'espère que cela pourra vous aider.


<?php
/**
 * 生成缩略图函数(支持图片格式:gif、jpeg、png和bmp)
 * @author ruxing.li
 * @param string $src   源图片路径
 * @param int  $width  缩略图宽度(只指定高度时进行等比缩放)
 * @param int  $width  缩略图高度(只指定宽度时进行等比缩放)
 * @param string $filename 保存路径(不指定时直接输出到浏览器)
 * @return bool
 */
function mkThumbnail($src, $width = null, $height = null, $filename = null) {
  if (!isset($width) && !isset($height))
    return false;
  if (isset($width) && $width <= 0)
    return false;
  if (isset($height) && $height <= 0)
    return false;
  $size = getimagesize($src);
  if (!$size)
    return false;
  list($src_w, $src_h, $src_type) = $size;
  $src_mime = $size[&#39;mime&#39;];
  switch($src_type) {
    case 1 :
      $img_type = &#39;gif&#39;;
      break;
    case 2 :
      $img_type = &#39;jpeg&#39;;
      break;
    case 3 :
      $img_type = &#39;png&#39;;
      break;
    case 15 :
      $img_type = &#39;wbmp&#39;;
      break;
    default :
      return false;
  }
  if (!isset($width))
    $width = $src_w * ($height / $src_h);
  if (!isset($height))
    $height = $src_h * ($width / $src_w);
  $imagecreatefunc = &#39;imagecreatefrom&#39; . $img_type;
  $src_img = $imagecreatefunc($src);
  $dest_img = imagecreatetruecolor($width, $height);
  imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $width, $height, $src_w, $src_h);
  $imagefunc = &#39;image&#39; . $img_type;
  if ($filename) {
    $imagefunc($dest_img, $filename);
  } else {
    header(&#39;Content-Type: &#39; . $src_mime);
    $imagefunc($dest_img);
  }
  imagedestroy($src_img);
  imagedestroy($dest_img);
  return true;
}
$result = mkThumbnail(&#39;./IMG_3324.JPG&#39;, 147, 147);
Copier après la connexion

Remarque : N'oubliez pas d'activer d'abord la prise en charge de la bibliothèque GD.

Recommandations associées :

La mise en œuvre de PHP peut ajouter filigranes Outils de traitement pour générer des vignettes

méthode thinkphp5 pour télécharger des images et générer des vignettes

Méthode AJAX pour prévisualiser et télécharger des images et générer des vignettes

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal