www.adminn.cn
站长正能量分享网!

php创建高清缩略图详细使用方法

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

1.用imagecreatetruecolor和imagecopyresampled函数分别取代imagecreate和imagecopyresized.

2.给imagejpeg的第三个参数带上100(例:imagejpeg($ni,$tofile,100))

imagecreatetruecolor — 新建一个真彩色图像

说明:resource imagecreatetruecolor ( int x_size, int y_size )

imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像.

  1. header ("content-type: image/png"); 
  2. $im = @imagecreatetruecolor (50, 100) 
  3.      or die ("cannot initialize new gd image stream"); 
  4. $text_color = imagecolorallocate ($im, 233, 14, 91); 
  5. imagestring ($im, 1, 5, 5,  "a simple text string"$text_color); 
  6. imagepng ($im);//开源代码phpfensi.com 
  7. imagedestroy ($im); 

如果使用普通的imagecreate()函数将造成图片质量失真的情况,从网上搜了一下解决办法,方法是用imagecreateruecolor()函数替换imagecreate()函数.

  1. function createpreview($img,$name,$path,$maxwidth,$maxheight,$quality){//图片,保存名称,保存路径,最大宽,最大高,质量 
  2.  $widthratio=0; 
  3.  $heightratio=0; 
  4.  $width=imagesx($img); 
  5.  $height=imagesy($img); 
  6.  //开始计算缩小比例 
  7.  if($width>$maxwidth||$height>$maxheight){ 
  8.   if($width>$maxwidth){ 
  9.    $widthratio=$maxwidth/$width
  10.   } 
  11.   if($height>$maxheight){ 
  12.    $heightratio=$maxheight/$height
  13.   } 
  14.   if($widthratio>0&&$heightratio>0){ 
  15.    if($widthratio<$heightratio){ 
  16.     $ratio=$widthratio
  17.    }else
  18.     $ratio=$heightratio
  19.    } 
  20.   }elseif($widthratio>0){ 
  21.    $ratio=$widthratio
  22.   }elseif($heightratio>0){ 
  23.    $ratio=$heightratio
  24.   } 
  25.   //根据得出的比例,重新计算缩略图的宽和高 
  26.   $newwidth=$ratio*$width
  27.   $newheight=$ratio*$height
  28.   $newimg=imagecreatetruecolor($newwidth,$newheight); // 创建目标图 
  29.   imagecopyresized($newimg,$img,0,0,0,0,$newwidth,$newheight,$width,$height); 
  30.   imagejpeg($newimg,$path."s_".$name,$quality); 
  31.   imagedestroy($newimg); 
  32.  }else
  33.   imagejpeg($img,$path."s_".$name,$quality); 
  34.  }//开源代码phpfensi.com 

imagecopyresamples(),其像素插值算法得到的图像边缘比较平滑,质量较好,但该函数的速度比 imagecopyresized() 慢.

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php创建高清缩略图详细使用方法》
文章链接:https://www.adminn.cn/news/8042.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏