php中图片的缩放比例
php中图片的缩放比例
唠臭臭 发表于3年前
php中图片的缩放比例
  • 发表于 3年前
  • 阅读 46
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: GD 库的的缩放图片流程: 1.载入图片,和创新图。 2.获取图片的缩放比 3.通过比例系数创建新图片的的比例(getimagesize() 4.创建新图画布(imagecreatetruecolor[3中获去的图片像素]) 5.创建旧画布(imagecreatetruecolor[jpeg]) 6.imagecopyresampled()函数进行缩放 7.image[jep]输出函数 8.imagedestery()销毁图片
 在图片保存中,我们不必在ps或其他工具来修改图片,我们也可以用代码来实现。下面举两例子,效果相同:
<?php 
$sourcefile="images/1.jpg";//旧图路径
$dstfile="images/1_small.jpg";//新图路径
$arr=getimagesize($sourcefile);//获取图片缩放比例,这样我们不必再在目录下去查找图片属性的宽高了。
//$src_width="144";
$src_height="200";也可自定义缩放比例但过大图片会失真
$scle=0.5;//比例系数
$dst_width=ceil($arr[0]*$scle);
$dst_width=ceil($arr[1]*$sclie);//新图宽高
$dst_img=imagecreatetruecolor($dst_width,$dst_height);//载入新图
$src_img=imagecreatefromjpeg($sourcefile);//载入旧图
imagecopyresampled($dst_img,$src_img,0,0,0,0$dst_width,$dst_height,$src_width,$src_height);//输出图像
imagejpeg($dst_img,$dstfile);//新图,路径
imagedestroy($dst_img);
imagedestroy($src_img);//销毁图片
?>

下面是类的例子效果相同:

  <?php
class Zoom{
 private $srcImg;//原图地址
 private $scle;//缩放系数
 public function __construct($a $b){
  $this->srcImg=$a;
  $this->scle=$b;
  list($src_w $src_h)=getimagesize($this->srcImg);
  $dst_w=ceil($src_w*$this->scle);
  $dst_h=ceil($src_h*$this->scle);
  $arr=explode("."$this->srcImg);
  $ext=end($arr);
  if($ext=="jpg"){
   $src_img=imagecreatefromjpeg($this->srcImg);
  }else if($ext=="gif"){
   $src_img=imagecreatefromgif($this->srcImg);
  }else if($ext=="png"){
   $src_img=imagecreatefrompng($this->srcImg);
  }else{
   echo "请选择jpg、png、gif图片格式";
   exit;
  }
  $dstImg=$arr[0].$this->scle."_small".".".$ext;
  $dst_img=imagecreatetruecolor($dst_w$dst_h);
  imagecopyresampled($dst_img$src_img0000$dst_w$dst_h$src_w$src_h);
  if($ext=="jpg"){
   imagejpeg($dst_img$dstImg);
  }else if($ext=="gif"){
   imagegif($dst_img$dstImg);
  }else if($ext=="png"){
   imagepng($dst_img$dstImg);
  }
  imagedestroy($src_img);
  imagedestroy($dst_img);
 }
}
$image="imgs/a.jpg";
$b=1;
$i=new Zoom($image$b);
?>

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 1
码字总数 424
×
唠臭臭
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: