为什么我的水印加不上去,图片输出不出来,只有一个 小框,前面的图片缩放和裁剪也是如此?
城南花已开
城南花已开 2018-12-11 15:16:07
0
1
1728
<?php
// 获取图片宽度、高度和类型
$img='abc.jpeg';
print_r(getImageInfo($img));
echo '<br/>';
function getImageInfo($img){
  $info= getimagesize($img);
  $imageinfo=pathinfo($img);
  $getImageInfo=array(
    'width' =>$info[0],
    'height'=>$info[1],
     'type'=>$imageinfo['extension'],
    );
    return $getImageInfo;
}
water('abc.jpeg','du.png');
function water($img,$water,$pos=9,$tm=100){
   $info=getImageInfo($img);
   $logo=getImageInfo($water);
   $dst=openImg($img,$info['type']);
   $src=openImg($water,$logo['type']);
   switch($pos){
       case 1:
           $x=0;
           $y=0;
           break;
       case 2:
           $x=ceil(($info['width']-$logo['width'])/2);
           $y=0;
           break;
       case 3:
           $x=$info['width']-$logo['width'];
           $y=0;
           break;
       case 4:
           $x=0;
           $y=ceil(($info['height']-$logo['height'])/2);
           break;
       case 5:
           $x=ceil(($info['width']-$logo['width'])/2);
           $y=ceil(($info['height']-$logo['height'])/2);
           break;
       case 6:
           $x=$info['width']-$logo['width'];
           $y=ceil(($info['height']-$logo['height'])/2);
           break;
       case 7:
           $x=0;
           $y=$info['height']-$logo['height'];
           break;
       case 8:
           $x=ceil(($info['width']-$logo['width'])/2);
           $y=$info['height']-$logo['height'];
           break;
       case 9:
           $x=$info['width']-$logo['width'];
           $y=$info['height']-$logo['height'];
           break;
       case 0:
       default:
           $x=mt_rand(0,$info['width']-$logo['width']);
           $y=mt_rand(0,$y=$info['height']-$logo['height']);
           break;
   }
   imagecopymerge($dst,$src,$x,$y,0,0,$logo['width'],$logo['height'],$tm);
header ('Content-Type:image/jpeg');
   imagejpeg($dst);
   imagedestory($dst);
   imagedestory($src);
}
   function openImg($path,$type){
       switch($type){
           case 'jpeg':
           case 'jpg':
           case 'pjpeg':
               $img=imagecreatefromjpeg($path);
               break;
           case 'png':
           case 'x-png':
               $img=imagecreatefrompng($path);
               break;
           case 'gif':
               $img=imagecreatefromgif($path);
               break;
           case 'wbmp':
               $img=imagecreatefromwbmp($path);
               break;
           default:
               exit('图片类型不支持');
       }
       return $img;
   }
?>


#
城南花已开
城南花已开

全部回复(1)
啊啊啊啊啊啊啊啊啊欧

如果图片直接改后缀名,会导致这种情况,可通过PS修改后缀名,希望回答有所帮助。

//获取图片宽度、高度和类型

// $img='time.jpg';

// print_r(getImageInfo($img ));

// echo '
';

function getImageInfo($img){

 $info= getimagesize($img);

 $imageinfo=pathinfo($img);

 $getImageInfo=array(

   'width' =>$info[0],

   '' height'=>$info[1],

    'type'=>$imageinfo['extension'],

   );

   return $getImageInfo;

}

water('photo.jpeg','watermark.png');

函数水($img,$water,$pos=9,$tm= 100){

$info=getImageInfo($img);

$logo=getImageInfo($water);

$dst=openImg($img,$info[ 'type']);

  $src=openImg($water,$logo['type']);

  switch($pos){

      情况 1:

          $x=0;

          $y=0;

           break;

      情况 2:

          $x=ceil( ($info['width']-$logo['width'])/2);

          $y=0;

           break;

      情况 3:

          $x=$info['width']-$logo['width'];

          $y=0;

         break;

      case 4:

          $x=0;

          $y=ceil(($info['height']-$logo['height'])/2);

         break;

      情况 5:

          $x=ceil(($info['width']-$logo['width'])/2);

$y=ceil(($info['height']-$logo['height'])/2);

           break;

      情况 6:

          $ x=$info['width']-$logo['width'];

          $y=ceil(($info['height']-$logo['height'])/2);

          中断;

      情况 7:

          $x=0;

          $y=$info['height']-$logo['height '];

         break;

      情况 8:

          $x=ceil(($info['width']-$logo['width'])/2 );

          $y=$info['height']-$logo['height'];

          中断;

      情况 9:

          $x=$info['width']-$logo['width'];

          $y=$info['height ']-$logo['height'];

          Break;

      case 0:

      默认值:

          $x=mt_rand(0,$ info['width']-$logo['width']);

          $y=mt_rand(0,$y=$info['height']-$logo['height']);

          中断;

}

  imagecopymerge($dst,$src,$x,$y,0,0,$logo['宽度'],$logo[' height'],$tm);

header ('Content-Type:image/jpeg');

imagejpeg($dst);

imagedestory($dst) ;

  imagedestory($src);

}

  function openImg($path,$type){

      switch($type){

          case 'jpeg':

          case 'jpg':

          case 'pjpeg':

              $img=imagecreatefromjpeg($path);

             break;

          case 'png':

          case 'x-png':

              $img=imagecreatefrompng($path);

             break ;

          case 'gif':

              $img=imagecreatefromgif($path);

             break;

          case 'wbmp':

              $img=imagecreatefromwbmp($path);

             break;

          默认:

              exit('图片类型不支持');

      }

      return $img;

  }

?>

另外课程上的方法(亲测可用),不同的getImageInfo函数。

<?php
header("内容类型:text/html;charset=utf-8");  
water('photo.jpeg','watermark.jpeg');
function getImageInfo($path) {
   $info = getimagesize($path);
   $data['width'] = $info[0];
   $data['height'] = $info[1];
   $data['type'] = $info['mime'];
   return $data;
}
function openImg($path,$type){
      switch($type){
          case 'image/jpeg':
          case 'image/jpg':
          case 'image/pjpeg':
              $img=imagecreatefromjpeg($path);
             break;
          case 'image/png':
          case 'image/x-png':
              $img =imagecreatefrompng($path);
               break;
          case 'image/gif':
              $img=imagecreatefromgif($path);
             break;
          case 'image/wbmp':
              $img=imagecreatefromwbmp($path);
             break;
          默认:
              exit('图片类型不支持');
      }
      return $img;
  }

//$water = 'watermark.jpeg';
#function water($img,$water,$pos=9,$tm=100){
  $info=getImageInfo($img) ;
  $logo=getImageInfo($water);
  $dst=openImg($img,$info['type']);
  $src=openImg($water,$logo['type') ]);
  switch($pos){
      情况 1:
          $x=0;
          $y=0;
          打破;
      情况 2:
          $x =ceil(($info['width']-$logo['width'])/2);
          $y=0;
         break;
      情况 3:
          $x=$ info['width']-$logo['width'];
          $y=0;
         break;
      案例 4:
          $x=0;
          $y=ceil( ($info['height']-$logo['height'])/2);
         break;
      情况 5:
          $x=ceil(($info['width']-$logo['width'])/2);
          $y=ceil(($info['height']-$logo['height'] )/2);
           break;
      情况 6:
          $x=$info['width']-$logo['width'];
          $y=ceil(($info[ 'height']-$logo['height'])/2);
          Break;
      情况 7:
          $x=0;
          $y=$info['height']- $logo['height'];
         break;
      case 8:
          $x=ceil(($info['width']-$logo['width'])/2);
          $y=$info['height']-$logo['height'];
         break;
      案例 9:
          $x=$info['width']-$logo['width '];
          $y=$info['height']-$logo['height'];
           break;
      case 0:
      默认值:
          $x=mt_rand(0 ,$info['width']-$logo['width']);
          $y=mt_rand(0,$y=$info['height']-$logo['height']);
         break;
  }
   imagecopymerge($dst,$src,$x,$y,0,0,$logo['width'],$logo['height'],$tm);
   header ('Content-Type:image/jpeg');
   imagejpeg($dst);
   imagedestory($dst);
   imagedestory($src);
}
?> ;



热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!