PHP实现对输出图片的大小进行调整–基于smarty

今天把我的一个搞笑图片站,http://www.nbqq.net/gaoxiao 的程序进行了一下完善,主要是对输出的图片大小进行了一下算法调整。因为我的显示框架为730像素宽,如果图片大小为800px的话,显示就会错乱(肯定会的,我验证了的)。所以要做的就是判断一下,如果图片宽度大于720px的话,就要做调整,强制设宽度 为720px,那么要输出高度就是:h=(原有高度*720)/原有宽度。若宽度小于720的话,则不进行调整。主要用到的函数是getimagesize()。下面贴出我的代码,供参考($data_sh为我已得到的一个数组):

#这里要判断图片的像素大小,因为要是大于730的话CSS就会出现异常

 $img_pro=getimagesize($data_sh[0][store_dir]); 
       #得到要显示的图片的一些信息,主要是大小

 $img_width=$img_pro[0];#图片默认大小
 $img_height=$img_pro[1]; 
     #进行判断,看是否超过720
 if ($img_pro[0]>720){
  $img_width=720;
  $img_height=ceil($img_pro[1]*720/$img_pro[0]);
 
 }

我已成功应用在我的搞笑图片站上了。http://www.nbqq.net/gaoxiao

Leave a Reply