>백엔드 개발 >PHP 튜토리얼 >PHP에서 워터마크 텍스트와 썸네일을 구현하는 방법

PHP에서 워터마크 텍스트와 썸네일을 구현하는 방법

墨辰丷
墨辰丷원래의
2018-05-29 10:01:281560검색

이 글은 주로 PHP에서 워터마크 텍스트와 썸네일을 구현하는 방법을 소개합니다. PHP에서 워터마크 텍스트를 추가하고 썸네일을 생성하는 관련 단계와 작동 기술을 완전한 예제 형식으로 분석합니다.

자세한 내용은 다음과 같습니다.

<?php
  $im = &#39;xiatian.jpg&#39;;
  $im2 = &#39;winter3.jpg&#39;;
  $img = getImage($im);
  $bimg = getImage($im2);
  //$image = getimagesize($im);
  //print_r($image);
  //Array ( [0] => 150 width
   /*[1] => 150 height
   [2] => 3 图片类型
   [3] => width="150" height="150"
   [bits] => 8
   [mime] => image/png )*/
  //图片复制组合------$bimg----
  imagecopy($bimg, $img, 300, 4, 0, 0, getWidth($im),getHeight($im));
  //加水印文字
  $color = imagecolorallocate($bimg,255, 255, 0);
  $str = "中国";
  $str = mb_convert_encoding($str, "html-entities","utf-8");
  imagettftext($bimg, 42, 0, rand(20,getWidth($im2)-100), rand(40,getHeight($im2)), $color, &#39;MSYH.TTF&#39;, $str);
  //剪切,重新生成缩略图
  $new = imagecreatetruecolor(50, 50);
  imagecopyresized($new, $bimg, 0, 0, 0, 0, 50, 50, getWidth($im2), getHeight($im2));
  //输出到浏览器
  header("Content-Type: image/jpeg");
  //如果为png图片也可正常显示,浏览器负责正确解析
  imagejpeg($new);
  //生成大图,小图
  imagejpeg($new,&#39;small.jpg&#39;);
  imagejpeg($bimg,&#39;big.jpg&#39;);
  function getImage($img_file) {
    $image = getimagesize($img_file);
    //判断是那种图片类型
    switch($image[2]) {
      case 1:
        $img = @imagecreatefromgif($img_file);
        break;
      case 2:
        $img = @imagecreatefromjpeg($img_file);
        break;
      case 3:
        $img = @imagecreatefrompng($img_file);
        break;
    }
    return $img;
  }
  function getWidth($img_file) {
    $image = getimagesize($img_file);
    return $image[0];
  }
  function getHeight($img_file) {
    $image = getimagesize($img_file);
    return $image[1];
  }
?>

위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되길 바랍니다.


관련 권장 사항:

PHP 썸네일 생성 및 그림 watermark세부 제작

PHP 구현 watermark 클래스, 그림, 텍스트 및 채워진 색상 영역 추가 지원

PHP 실현 워터마크그림 기능

을 무작위로 생성하는 방법

위 내용은 PHP에서 워터마크 텍스트와 썸네일을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.