Maison  >  Article  >  développement back-end  >  Méthode PHP pour implémenter la fonction de génération de vignettes d'images basées sur la bibliothèque GD

Méthode PHP pour implémenter la fonction de génération de vignettes d'images basées sur la bibliothèque GD

墨辰丷
墨辰丷original
2018-05-19 15:54:181341parcourir

Cet article présente principalement la fonction de génération de vignettes d'images implémentée par PHP sur la base de la bibliothèque GD, impliquant les compétences opérationnelles de PHP liées aux attributs d'image. Les amis dans le besoin peuvent s'y référer

Cet article décrit l'exemple de. PHP basé sur la bibliothèque GD Fonction implémentée pour générer des vignettes d'images. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

<?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);

Remarque : N'oubliez pas d'activer d'abord le support de la bibliothèque GD

Recommandations associées :

Implémentation PHP pour générer des vignettes d'imagesfonction

php génère Vignettes d'images Fonction

Comment générer un png transparent Vignettes d'images en php

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