PHP는 이미지 썸네일을 생성하는 기능을 구현합니다.

小云云
풀어 주다: 2023-03-20 07:34:01
원래의
3709명이 탐색했습니다.

이 글은 주로 GD 라이브러리를 기반으로 PHP로 구현한 이미지 썸네일 생성 기능을 소개하는데, 이미지 속성과 관련된 PHP의 작동 기술이 도움이 되기를 바랍니다.


<?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);
로그인 후 복사

참고: 먼저 GD 라이브러리 지원을 켜는 것을 잊지 마세요

관련 권장 사항:

워터마크를 추가하고 썸네일 처리 도구를 생성할 수 있는 PHP 구현

thinkphp5 이미지 업로드 및 썸네일 생성 방법

이미지 미리보기를 구현하고 썸네일을 업로드하고 생성하는 AJAX 방법

위 내용은 PHP는 이미지 썸네일을 생성하는 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿