最近,有个项目需求需要将不同尺寸的图片更改为相同尺寸的图片,我在网上找了好久,终于被我找到了一款Intervention/image,废话不多说,直接上图
原图为
转换后为
从对比中可以看出原来不同尺寸的图片转换后尺寸相同了。Ok,下面来讲讲这款插件的用法
1,安装:方法
2,Imagick安装:windows安装方法
3,使用:
- require 'vendor/autoload.php';
- use Intervention\Image\ImageManager;
- $manager = new ImageManager(array('driver' => 'imagick'));
- function myScanDir($dir)
- {
- $file_arr = scandir($dir);
- $new_arr = [];
- foreach($file_arr as $item){
- if($item!=".." && $item !="."){
- if(is_dir($dir."/".$item)){
- $new_arr[$item] = myScanDir($dir."/".$item);
- }else{
- $new_arr[] = $item;
- }
- }
- }
- return $new_arr;
- }
- //待处理图片的文件位置
- $srcdir = __DIR__.DIRECTORY_SEPARATOR."image".DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR."abbtemp".DIRECTORY_SEPARATOR;
- //处理后的图片位置
- $disdir = __DIR__.DIRECTORY_SEPARATOR."image".DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR."handleabb".DIRECTORY_SEPARATOR;
- $dir = myScanDir($srcdir);
- foreach ($dir as $key => $value) {
- $image = $manager->make($srcdir.$value);
- $image->resize(140, 140);
- $image->save($disdir.$value);
- }
- ?>
Powered by Froala Editor