展会信息港展会大全

php简单缩略图类|image.class.php
来源:互联网   发布日期:2016-03-02 15:22:34   浏览:1286次  

导读:使用方法: $img = new iamge; $img-resize('dstimg.jpg', 'srcimg.jpg', 300, 400); 说明:这个是按照比例缩放,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高 $img-thumb('dstimg.jpg', 'scrimg.jpg', 300, 300); 说明:这个是按照...

使用方法:

$img = new iamge;

$img->resize('dstimg.jpg', 'srcimg.jpg', 300, 400);

说明:这个是按照比例缩放,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高

$img->thumb('dstimg.jpg', 'scrimg.jpg', 300, 300);

说明:这个是按照比例缩略图,比如常用在头像缩略图的时候,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高

这个是针对GD库才这样麻烦的,如果采用Imagick的话,就只需要两个函数就实现上面的功能,去查下文档就找到了。

<?php

class image{

public function resize($dstImg, $srcImg, $dstW, $dstH){

list($srcW, $srcH) = getimagesize($srcImg);

$scale = min($dstW/$srcW, $dstH/$srcH);

$newW = round($srcW * $scale);

$newH = round($srcH * $scale);

$newImg = imagecreatetruecolor($newW, $newH);

$srcImg = imagecreatefromjpeg($srcImg);

imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newW, $newH, $srcW, $srcH);

imagejpeg($newImg, $dstImg);

}

public function thumb($dstImg, $srcImg, $dstW, $dstH){

list($srcW, $srcH) = getimagesize($srcImg);

$scale = max($dstW/$srcW, $dstH/$srcH);

$newW = round($dstW/$scale);

$newH = round($dstH/$scale);

$x = ($srcW - $newW)/2;

$y = ($srcH - $newH)/2;

$newImg = imagecreatetruecolor($dstW, $dstH);

$srcImg = imagecreatefromjpeg($srcImg);

imagecopyresampled($newImg, $srcImg, 0, 0, $x, $y, $dstW, $dstH, $newW, $newH);

imagejpeg($newImg, $dstImg);

}

}

function createFromType($type, $srcImg){

$function = "imagecreatefrom$type";

return $function($srcImg);

}

//为了解决不同图片格式的问题

赞助本站

人工智能实验室

相关热词: 开发 编程 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港